毕业设计网
开发环境 |

vc++ MFC中的非模式对话框

模式对话框和非模式对话框两者是不同的,模式对话框一次调用但不能同时使用父窗口.而非模式对话框允许同时使用父窗口.用户在没有在关掉模式对话之前是不能在其它的对话框输入或调用一个菜单的.但是用户被许可在打开非模式对话框的同时做任何事.
     非模式对话框处理是用在MFC中的CDialog类.CDialog是源自于CWnd类,一个别外处理dialog 类. Dialog的初始化是用一个OnInitDialog函数. Dialog关闭是使用一个EndDialog函数.Dialog可以提供大量的控件像编辑控件一样.如: static controls, list boxes, combo boxes, progress bars, list views, tree views等.

所以上面提到的控件都有它们自己的类来处理自己.它们都属于对话框.同样也有它们自己的信息处理机制.如message maps.它们加工窗口,除了一些特别的特征.
让我们一步一步的加入一个非模式对话框到我们的应用程序中吧.如果你看到上面的解释,

调用对话框有不同的方法.与Modal dialog MFC Tutorial相似,这些指南须要一些创建窗口,创建菜单的知识.
The sample code and description below demonstrates the creation of Modeless dialogs in MFC.
下面是在MFC中创建一个非模式对话框的代码与描述.
第一步:创建一个新的类型为Win32 application工程.在第二个向导界面中,选择第一个选项. “Create an empty project”,不要为工程添加任何文件.

第二步:在创建工程以后,点击Menu -->Project --> Add to Project -->New并选择.cpp文件,将其改自己需要的名字.
Step 3:
    Copy and paste the code below. 

第三步,复制粘贴下面代码.

现在我们可以添加对话框资源,然后添加须要的代码.
第四步:

点击Menu --> Insert --> Resource --> "Dialog"并加入新的命令按钮.一个默认的对话框有两个命令按钮.

第五步:

在左手边上,打开资源视图.创建新的对话框有一个资源ID,在其上按Enter键,以身改变对话框的ID为IDR_MYDIALOG..
第6步:

保存资源.它被给一个像script1.rc.的名字.小心保存到的工程路径中.

第七步:

点击Menu --> View --> Class Wizard,为对话框创建一个新类.取名NewDialog:
第八步:

打开NewDialog对头文件NewDialog.h,添加<afxwin.h>,在CPP文件中加入NewDialog.h.
第9步:

创建一个菜单资源,并在生成的函数中加下面的代码:

好了,如果你点击菜单上的项,对话框将带两个默认的按钮被展现出来.如果点击了Enter键或escape键,对话框将被关闭.

以上是一部分介绍,如需要完整的资料或者如不符合您的要求,请联系技术人员qq:242219979咨询

上一篇:vc++ CListCtrl的用法
下一篇:冰蓄冷中央空调系统主机与蓄冷量匹配最优智能算法


版权所有 毕业设计网联系qq:242219979 © 2007-2022