社区
界面
帖子详情
为什么在初始化中非模态对话框显示空白
litom
2010-12-07 11:49:35
我做了一个程序 在初始化时,我加载了一个非模态对话框,对话框上有一个静态文本控件“程序初始化 . . .”
在程序初始化前,加入以下代码:
WaitDlg* dlg=new WaitDlg();
dlg->Create(IDD_WAIT,this);
dlg->ShowWindow(SW_SHOW);
但程序初始化时,只显示了空白的对话框,并没有显示静态文本控件“程序初始化 . . .”,不知是为什么?
...全文
115
18
打赏
收藏
为什么在初始化中非模态对话框显示空白
我做了一个程序 在初始化时,我加载了一个非模态对话框,对话框上有一个静态文本控件“程序初始化 . . .” 在程序初始化前,加入以下代码: WaitDlg* dlg=new WaitDlg(); dlg->Create(IDD_WAIT,this); dlg->ShowWindow(SW_SHOW); 但程序初始化时,只显示了空白的对话框,并没有显示静态文本控件“程序初始化 . . .”,不知是为什么?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
18 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
litom
2010-12-09
打赏
举报
回复
[Quote=引用 17 楼 visualeleven 的回复:]
你的DoDataExchange里已经有了
DDX_Text(pDX, IDC_MSG, m_msg);
那么你的OnInitDialog中就没有必要加上UpdateData(FALSE);这句了
[/Quote]
那个语句是没有用,当时是觉得显示不了才试试
Eleven
2010-12-09
打赏
举报
回复
你的DoDataExchange里已经有了
DDX_Text(pDX, IDC_MSG, m_msg);
那么你的OnInitDialog中就没有必要加上UpdateData(FALSE);这句了
向立天
2010-12-09
打赏
举报
回复
[Quote=引用 15 楼 litom 的回复:]
问题找到了,加上 dlg->UpdateWindow();就可以了
[/Quote]
我刚想给你回复这个
来晚了
不过自己找到原因就更好了
呵呵
wltg2001
2010-12-08
打赏
举报
回复
[Quote=引用 8 楼 litom 的回复:]
静态文本属性是设置了的,比如我在下一个对话框出现错误,这个时候就会显示出来“初始化”
[/Quote]
也就是说这个静态文本框的值是你后面用代码设置的?那你写它的代码呢?
Hiiishe
2010-12-08
打赏
举报
回复
较长时间的运算会卡住界面,界面会假死。假死现象为鼠标点击界面无反应,界面无绘制(包括子控件看不到)
Hiiishe
2010-12-08
打赏
举报
回复
把你的初始化运算过程放在线程中执行,执行完后再关闭对话框。
不要把较长世界的运算放在主线程中,因为你的界面在主线程中。
litom
2010-12-08
打赏
举报
回复
问题找到了,加上 dlg->UpdateWindow();就可以了
向立天
2010-12-08
打赏
举报
回复
[Quote=引用 8 楼 litom 的回复:]
静态文本属性是设置了的,比如我在下一个对话框出现错误,这个时候就会显示出来“初始化”
[/Quote]你这话什么意思
litom
2010-12-08
打赏
举报
回复
[Quote=引用 2 楼 jcily 的回复:]
把你的初始化运算过程放在线程中执行,执行完后再关闭对话框。
不要把较长世界的运算放在主线程中,因为你的界面在主线程中。
[/Quote]
我没有线程就是一个计算的程序,计算出数量就出现主界面,现在希望在启动的时候把计算的结果显示在主界面上
litom
2010-12-08
打赏
举报
回复
静态文本属性是设置了的,比如我在下一个对话框出现错误,这个时候就会显示出来“初始化”
yihandrensunyong
2010-12-08
打赏
举报
回复
楼主看下 静态文本属性对了 吗
然后最好整个重新编译运行 有时候可能是编译器的问题
mazm_yanzhu
2010-12-08
打赏
举报
回复
确认下,静态文本的赋值情况,是不是重复赋值了,赋了空值
tigerMayDo
2010-12-08
打赏
举报
回复
应该不会啊 楼主静态文本属性对了 吗
向立天
2010-12-08
打赏
举报
回复
静态文本控件的属性怎么设置的
是不是visible为false了
litom
2010-12-08
打赏
举报
回复
WaitDlg::WaitDlg(CWnd* pParent /*=NULL*/)
: CDialog(WaitDlg::IDD, pParent)
{
//{{AFX_DATA_INIT(WaitDlg)
m_msg = _T("程序启动中,请稍后.......");
//}}AFX_DATA_INIT
}
void WaitDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(WaitDlg)
DDX_Text(pDX, IDC_MSG, m_msg);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(WaitDlg, CDialog)
//{{AFX_MSG_MAP(WaitDlg)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// WaitDlg message handlers
BOOL WaitDlg::OnInitDialog()
{
CDialog::OnInitDialog();
// TODO: Add extra initialization here
m_msg="程序启动中,请稍后.......";
UpdateData(FALSE);
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
这个是非模态的对话框的代码
litom
2010-12-08
打赏
举报
回复
[Quote=引用 10 楼 xianglitian 的回复:]
引用 8 楼 litom 的回复:
静态文本属性是设置了的,比如我在下一个对话框出现错误,这个时候就会显示出来“初始化”
你这话什么意思
[/Quote]
WaitDlg* dlg=new WaitDlg();
dlg->Create(IDD_WAIT,this);
dlg->ShowWindow(SW_SHOW);
AfxMessageBox("启动错误");
我在后面加上AfxMessageBox这个消息框,上面的非模态对话框就会出现文字了
wltg2001
2010-12-07
打赏
举报
回复
没见过这种问题。
cocos2d-x 之
模态
对话框
cocos2d-x 之
模态
对话框
cocos2d-x中
模态
对话框
的简单实现
cocos2d-x中
模态
对话框
的简单实现
多
模态
人物识别技术及其在视频场景中的应用
本次分享将介绍爱奇艺人物识别及相关的应用,多
模态
的进展、难点、可落地的点,卡通角色识别的难点、应用中所要解决的问题,AIWWorks智能创作的技术架构、所利用到的AI技术总览、AI所擅长的及AI所不能及的创作点。
鸡啄米:VS2010-MFC编程入门教程(1-55).docx
VS2010/MFC编程入门之十二(
对话框
:非
模态
对话框
的创建及
显示
) VS2010/MFC编程入门之十三(
对话框
:属性页
对话框
及相关类的介绍) VS2010/MFC编程入门之十四(
对话框
:向导
对话框
的创建及
显示
) VS2010/MFC...
C++ MFC深入详解之----
模态
对话框
与非
模态
对话框
例如,在Word中利用【文件打开】菜单命令
显示
一个“打开”
对话框
后,再用鼠标去选择其他菜单,或者进行该
对话框
以外的任何操作时,只会听到嘟嘟声,这是因为“打开”
对话框
是一个
模态
对话框
。
模态
...
界面
15,979
社区成员
115,896
社区内容
发帖
与我相关
我的任务
界面
VC/MFC 界面
复制链接
扫一扫
分享
社区描述
VC/MFC 界面
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章