在线等待为什么在dll里用DialogBox函数的对话框显示不出来 在线等待为什么在dll里用DialogBox函数的对话框显示不出来 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 hInstance 参数传递的是正确的 dll 实例句柄吗? 資源問題,你的模板創建了嗎?資源句柄是否切換到dll裡?在構造函數裡: 句柄切入dll: hInst = GetModuleHandle(DllName); if (hInst) { hOldInst = AfxGetResourceHandle(); AfxSetResourceHandle(hInst); } else return; 在destroy或者你認為合適的時候: AfxSetResourceHandle(hOldInst); 切回去。 按如下方法可以解决: 如是模式对话,则重载Create函数,如是无模式对话框,则可以建自已的创建函数。然后在函数中加入如下代码: CYourDlgClass *pYourDlg=this; HMODULE hModule = LoadLibrary(_T("Your.dll")); HRSRC hSrc = FindResource(hModule,MAKEINTRESOURCE(IDD_DISPLAYERRMSG),RT_DIALOG); HGLOBAL hDialogTemplate = LoadResource(hModule,hSrc); if(pYouDlg->CreateIndirect(hDialogTemplate,NULL)) { return TRUE; }else{ AfxMessageBox("创建对方框失败!"); return FALSE}我是做的软件中有这个问题,我就是这么解决的。your.dll就是你在这对话框要生成的DLL文件 那会不会是少它的原因呢。 AFX_MANAGE_STATE(AfxGetStaticModuleState()); 嵌入RichEdit的 ActiveX控件 的OnDraw不被调用 VC做的ActiveX控件放到网页里用,能在本地IE浏览器里正常使用,可是局域网里其它的电脑不能在IE里打开,为什么? casyncsocket 发送的包大小和Onconnect问题 什么是进程快照 dll导出的函数名为何会变成_Func@12的形式?? ★★ 关于抓屏的一个技术性问题 如何获得一个线程的句柄? 请问如何做视频点播程序? 为什么类型库也需要一个guid并注册? 调查一下,现在用.NET的多还是用VC的多? 帮我看看下面的抓屏幕代码很短 创建线程中的问题?
資源句柄是否切換到dll裡?
在構造函數裡:
句柄切入dll:
hInst = GetModuleHandle(DllName);
if (hInst)
{
hOldInst = AfxGetResourceHandle();
AfxSetResourceHandle(hInst);
}
else
return;
在destroy或者你認為合適的時候: AfxSetResourceHandle(hOldInst); 切回去。
如是模式对话,则重载Create函数,如是无模式对话框,则可以建自已的创建函数。
然后在函数中加入如下代码: CYourDlgClass *pYourDlg=this;
HMODULE hModule = LoadLibrary(_T("Your.dll"));
HRSRC hSrc = FindResource(hModule,MAKEINTRESOURCE(IDD_DISPLAYERRMSG),RT_DIALOG);
HGLOBAL hDialogTemplate = LoadResource(hModule,hSrc); if(pYouDlg->CreateIndirect(hDialogTemplate,NULL))
{
return TRUE;
}
else
{
AfxMessageBox("创建对方框失败!");
return FALSE
}
我是做的软件中有这个问题,我就是这么解决的。
your.dll就是你在这对话框要生成的DLL文件
AFX_MANAGE_STATE(AfxGetStaticModuleState());