1.怎样使得基于DIALOG的程序的DIALOG 具有XP的风格??
2.在一个不支持MFC的ATL中,怎样使得它能使用MFC中的类,怎样使得点击ATL中对话框上的按钮,弹出另外一个对话框?
3.MFC的DLL中能不能开线程,一个EXE调用这个DLL能不能把DLL中的对话框显示出来,并实现功能??
2.在一个不支持MFC的ATL中,怎样使得它能使用MFC中的类,怎样使得点击ATL中对话框上的按钮,弹出另外一个对话框?
3.MFC的DLL中能不能开线程,一个EXE调用这个DLL能不能把DLL中的对话框显示出来,并实现功能??
解决方案 »
- tab控件选项卡切换实现
- IOCP 同时投递的问题?
- 求助,怎样在mfc对话框中加一个进度条,希望能详细一点
- 向vc++高手求救:自己制作IDE,如何编译多文件
- 各个类都要进行操作的 一个较大动态数组, 在文档视图 工程中 应该放在哪里 设成全局的吗
- VC的代码重用的问题,不知道怎么办,请高手指点--->>50分<<---
- 怎么把1000000变成1,000,000格式?有无直接的库函数?
- 怎样获得字体的点数?
- 在网页上双击的时候,如何得知双击的是个什么网页元素?
- ***用什么""函数""可以知道系统是否有Mouse/Keyboard存在?
- 有没有类似FlashGet可以通过INI文件进行多语言选择的例子呀!急!
- composite datawindow问题:composite dw中的两个dw的data source 都是external的,为什么分组显示不能显示呢?
找一个MFC的工程,将其中的stdafx.h拿来与现有的ATL工程中的
stdafx.h对比,加上相应的include 语句即可,一般这些语句中包含的文件都是以
afx开头.
另外还要设置以下工程的setting,使本工程使用MFC的库
另外:
推荐使用WTL来取代MFC
第三个问题:
你可以在DLLMain上动一动脑筋
只需要在XP下运行就可。要不就用作skin的方法。2. 干嘛不开始就支持呢?也可以调EXE,DLL啥。
学学alt向导的生成代码。
好像要加些
#include <afxwin.h>
#include <afxdisp.h>
之类的头文件。3,在DLL中调用如下函数。
HINSTANCE AfxGetResourceHandle( );//得到原(exe的HINSTANCE )
HINSTANCE AfxGetInstanceHandle( );//得到新(dll的HINSTANCE)
void AfxSetResourceHandle( HINSTANCE hInstResource );//设定缺省的(设为dll的HINSTANCE)
然后你的对话框就出得跟EXE一样了。
使用资源完后,最后再恢复,调用void AfxSetResourceHandle( HINSTANCE hInstResource ); //exe的HINSTANCE
1.我的Dialog不仅仅在WIN XP下运行,而且要在98,2000下运行.
怎样做skin
[email protected]
Thanks
到
http://www.softpile.com/Development/ActiveX/Review_02223_index.html去看看吧。那是一个ActiveX控件。做界面很不错。其实你的窗口可以自已处理所有的重绘消息。就可以按自已的方式画界面了。
在上找www.vckbase.com第13期。
其它问题不想动脑筋,其实ATL我不会
you can create thread in dll, but don't create thread in DllMain.
我很菜的,你的问题我都答不出来,但是刚才才看到一个就是关于XP界面的Dialog的文章,推荐看看:)
DLL中可以开线程,方法与一般程序中一样,定义一出口函数,用AfxBeginThread;在调用的时候加载该DLL
DWORD fdwReason,
LPVOID lpReserved
)
{
switch(fdwReason)
{
case DLL_PROCESS_ATTACH://Ê×´Î×°ÔØDLL£¬´´½¨Ò»Ïß³Ì
{
DWORD dwThreadID;
hThreadHandle = CreateThread(NULL, 0, (unsigned long (__stdcall *)(void *))ThreadProc, NULL, 0, &dwThreadID);
}
break;
case DLL_PROCESS_DETACH:
{
if(hThreadHandle)
TerminateThread(hThreadHandle,0);
} break;
case DLL_THREAD_ATTACH:
break;
case DLL_THREAD_DETACH:
break;
}
return TRUE;
}
www.vckbase.com第13期上有,方法是重画界面
可以实现你的功能的.__declspec( dllexport ) int ShowDialog();
int ShowDialog()
{
CMyDialog Dlg;
return Dlg.Domodal();
}把CMyDialog的头文件和实现加到工程中.在一开始#include "MyDialog.h".