在win32/MFC 程序中使用QT控件。。。。。。。
2011-08-22 16:56
417 查看
暂时讲解qt控件以DLL形式附加到win32/mfc程序中 环境 vs2005集成qt编译环境+qt4.5
1.使用QT提供的两者的交互框架 http://download.csdn.net/source/3539936
2.创建QT DLL
2.将src 的.h .cpp文件全部复制你的dll工程目录下,然后添加到工程里
3.在qt的dll中定义
BOOL WINAPI DllMain( HINSTANCE hInstance, DWORD dwReason, LPVOID lpvReserved )
{
static bool ownApplication = FALSE;
if ( dwReason == DLL_PROCESS_ATTACH )
ownApplication = QMfcApp::pluginInstance( hInstance );
if ( dwReason == DLL_PROCESS_DETACH && ownApplication )
delete qApp;
return TRUE;
}
extern "C" __declspec(dllexport) void ShowControl( HWND parent )
{
QWinWidget *win=new QWinWidget( parent );
QHBoxLayout *hbox = new QHBoxLayout( win );
QLabel *label = new QLabel( "Enter text:", win );
QLineEdit *edit = new QLineEdit( win );
hbox->addWidget( label );
hbox->addWidget( edit );
win->move( 0, 0 );
win->show();
}
win32/mfc程序中
typedef void(*DeShowControl)( HWND parent );
DeshowDialog ShowControl;
HMODULE hm=LoadLibraryA("qtwin.dll");
ShowControl=(DeshowDialog)GetProcAddress(hm,"showDialog");
ShowControl(hWnd);
效果如图
win32win是win32 api创建的窗口
enter text::是用qt创建的两个控件
1.使用QT提供的两者的交互框架 http://download.csdn.net/source/3539936
2.创建QT DLL
2.将src 的.h .cpp文件全部复制你的dll工程目录下,然后添加到工程里
3.在qt的dll中定义
BOOL WINAPI DllMain( HINSTANCE hInstance, DWORD dwReason, LPVOID lpvReserved )
{
static bool ownApplication = FALSE;
if ( dwReason == DLL_PROCESS_ATTACH )
ownApplication = QMfcApp::pluginInstance( hInstance );
if ( dwReason == DLL_PROCESS_DETACH && ownApplication )
delete qApp;
return TRUE;
}
extern "C" __declspec(dllexport) void ShowControl( HWND parent )
{
QWinWidget *win=new QWinWidget( parent );
QHBoxLayout *hbox = new QHBoxLayout( win );
QLabel *label = new QLabel( "Enter text:", win );
QLineEdit *edit = new QLineEdit( win );
hbox->addWidget( label );
hbox->addWidget( edit );
win->move( 0, 0 );
win->show();
}
win32/mfc程序中
typedef void(*DeShowControl)( HWND parent );
DeshowDialog ShowControl;
HMODULE hm=LoadLibraryA("qtwin.dll");
ShowControl=(DeshowDialog)GetProcAddress(hm,"showDialog");
ShowControl(hWnd);
效果如图
win32win是win32 api创建的窗口
enter text::是用qt创建的两个控件
相关文章推荐
- Win32程序(例如MFC、后台服务等)使用AllocConsole()添加调试用控制台
- vc++ win32程序中使用MFC
- GUI程序如何使用控制台输出调试信息[zz][MFC调用win32窗口显示调试信息,使用AllocConsole 函数 ]
- Windows Form(.NET,C#)程序使用MFC控件(treeview)DLL,treeview上面的上下左右键不工作
- 在WIN32控制台程序中使用MFC头文件
- VS2008 SP1 MFC程序中使用Ribbon控件
- MFC小程序003------MFC使用WebBrowser组件,在对话框中创建滚动视图,动态创建一个静态文本控件并设置鼠标单击的消息响应
- win32控制台程序中,使用MFC的方法
- MFC中使用串口控件后程序无法打开的问题解决
- 关于win32程序如何使用mfcdll的问题.
- VS IDE环境下,windows GUI(Qt MFC,win32)使用控制台实时打印调试信息
- VC的Win32控制台程序中使用MFC库文件
- MFC程序使用CComboBox控件详解
- 新建一个win32空工程,然后使用MFC创建程序
- MFC 带comm口控件程序编写及使用注意事项
- Win32程序中使用Combo box控件
- 在MFC程序中使用AnyCAD图形控件
- win32控制台程序中,使用MFC的方法
- vc2010使用CMFCEditBrowseCtrl控件导致程序退出崩溃解决
- MFC中使用控件CEdit创建一个记事本小程序