非模式对话框一闪而过(规则dll中创建的)

seujh 2011-08-12 05:58:29
dll中写了个 导出函数,

导出函数中 创建new 了个非模式对话框。。。


然后就一闪而过了。。。。

{

CXXDialog* pdlg=new CXX....;

pdlg->Create(,,);

pdl->Show(SW_SHOW);

}

如果想不让它一闪而过,那么可以加:

MSG msg;


while(GetMessage(&msg,NULL,0,0))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}

为什么不加会一闪而过,加了之后,不会闪啊??

求原因。。。。。。。。

...全文
69 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
seujh 2011-08-12
  • 打赏
  • 举报
回复
while(GetMessage(&msg,NULL,0,0))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}

为什么要加这几行,不加就会消失
seujh 2011-08-12
  • 打赏
  • 举报
回复
没人吗?

seujh 2011-08-12
  • 打赏
  • 举报
回复
贴代码“

#include"Stdafx.h"

#include"Resource.h"

#include"MyDialog.h"

extern "C" __declspec(dllexport) void Test(void)
{
CMyDialog* pDlg=new CMyDialog;

pDlg->Create(IDD_DIALOG1,NULL); //创建

pDlg->ShowWindow(SW_SHOW); //显示

MSG msg;


while(GetMessage(&msg,NULL,0,0))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}

}
vcf_reader 2011-08-12
  • 打赏
  • 举报
回复
这个现象确实奇怪。没遇到过
seujh 2011-08-12
  • 打赏
  • 举报
回复
要导出的函数中
new了非模式对话框
seujh 2011-08-12
  • 打赏
  • 举报
回复
我没用过任何线程技术的,

场景就是 : 一个exe (控制台下的程序, 用显示加载的方法,获得函数的地址,然后直接调用

  • 打赏
  • 举报
回复
使用场景是什么?
ndy_w 2011-08-12
  • 打赏
  • 举报
回复
是不是在线程里调用的?

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧