关于对话框

2016-02-19 17:40 1 1 收藏

下面是个关于对话框教程,撑握了其技术要点,学起来就简单多了。赶紧跟着图老师小编一起来看看吧!

【 tulaoshi.com - 编程语言 】

  问:程序是基于对话框的,我显示两个对话框,一个在另一个后面,下面是我的做法:

  

CMyApp::InitInstance ()
{
   ...
   CMyDialog1 dlg1;
   m_hMainWnd = &dlg1;
   int result = dlg1.DoModal ();
   CMyDialog2 dlg2;
   result = dlg2.DoModal ();
   ...
}

  在上面的代码中,首先一个对话框得到了适当地调用,但第二个对话框却没有,比如:调用 dlg2.DoModal()返回-1,当我逐步跟踪时我发现WM_QUIT被加入到消息队列 中,我不知道 为什么会这样.

  答:1)因为MFC需要m_hMainWnd成员函数必须指向一个带有效窗口句柄的对象,如果没有,它将 会自己给自己发送WM_QUIT消息来中断自己.

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)

  2)我知道为什么会这样,当你设置m_pMainWnd指向dlg1时,MFC认为你的Dialog1是主窗口. 当用户关闭对话框时,MFC认为用户想退出程序,因为m_pMainWnd指向的窗 口被关闭了.

  你认为不工作是因为应用程序在两个DoModal()调用后会退出.InitInstance()会返回 m_pMainWnd在向导中已经被使用,你不能去象你那样的使用.

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)

来源:http://www.tulaoshi.com/n/20160219/1615795.html

延伸阅读
手机QQ对话框没有视频对话选项   QQ对话框没有视频对话选项解决办法: 1、手机不支持视频聊天 2、对方手机或电脑端不支持视频聊天功能。 3、对方或自身手机是WP系统 4、客户端版本过低不支持视频通话 总结:QQ对话框没有视频对话选项一般都是上述几种情况引起的,如果除了上述集中外还是不能的话可以尝试...
标签: 办公软件
如果需要在Word 2000/2002中反复进行某项工作,就可以利用宏来自动完成这项工作。宏是一系列组合在一起的 Word 命令和指令,它们形成了一个命令,以实现任务执行的自动化,也就是说宏就是一条自定义的命令。 我们可以创建并执行宏,以替代人工进行的一系列费时而单调的重复性 Word 操作,自动完成任务。我们可以用宏录制器和“Visual Basi...
标签: 电脑入门
最新版的qq2012对话框装扮现在和主面板皮肤是统一的了,在主面板右上角,更改外观,就是那个小衣服的标志即可。 方法一: 1.点qq面板最小化左边的衣服即更改外观 2.选择自已喜欢的皮肤,如果要透明的话点窗口右下方倒数第四个按钮,将滚动条拖动到最上方就将皮肤全透明啦。(如果想使用自已从网上下载的皮肤的话就可以点自定义,后面的步...
VisualBasic提供了过时的FileCopy语句.问题是使用该函数时并不显示文件复制对话框,也就是说,当拷贝一个大文件时,用户看不到Windows的标准 文件复制对话框,无法从进度条上判断当前复制的进度.那么,如何做到这一点呢?请看下面: PublicTypeSHFILEOPSTRUCT hWndAsLong wFuncAsLong pFromAsString pToAsString fFl...
标签: 办公软件
在Excel中,执行“工具→选项”命令,打开“选项”对话框可进一步对Excel进行个性化设置。但是,如果设置不当,有时会带来不必要的麻烦。下面是笔者同一位Excel初学者的对话,我们整理出来,希望对大家有所帮助。 问:每次启动Excel时,窗口右侧都被一个工具条占去了一大部分(如图1),影响编辑表格,如何不让这个工具条自动启动呢? 答...

经验教程

366

收藏

28
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部