模态对话框和非模态对话框的创建与销毁

本文介绍了在VS中模态和非模态对话框的创建和销毁过程。模态对话框打开后需关闭才能进行其他操作,非模态对话框可同时进行其他任务。创建模态对话框推荐使用DoModal(),非模态对话框需通过Create()和ShowWindow()。销毁时,模态对话框通常自动关闭,非模态对话框需重载OnCancel()和PostNcDestroy(),并在其中调用DestroyWindow()。关闭顺序涉及OnClose(), OnDestroy(), OnNcDestroy()和PostNcDestroy()等函数。" 123841946,8695122,使用jadx进行Android反编译,"['Android开发', '逆向工程', '编译工具']

首先声明:在网上看了很多资料,很多内容也是从别人那里学到的,只是结合自己的使用写下来。

在VS中对话框分两种:模态对话框和非模态对话框。

模态对话框就是一旦我被打开了,就得完全做我的事情,只有把我关了,你才能做其他的事情。

非模态对话框就是你把我打开了,可以去干点别的,什么时候想起我来了,就用用,甚至可以直接把我灭了。

  • 不管要哪种对话框,以下两步必须得做:

1、在资源中(或者其他地方)添加一个Dialog资源;


图1. 新建对话框资源

2、右键 在【Add class 】,为你新建的对话框加新建一个类,为什么要添加类呢?因为面向对象编程,后续你要使用这个对话框,总得有个东西代表这个对话框吧!

图2中①处写对话框类的名称,一般以C****,代表类。

②处选择类的基类,我只选过CDialog和CDialogEx,后者是前者的派生,界面更美化了点。

③处世自动产生的两个关于这个类的文件。


图2. 添加对话框类

下一步就是如何调用?如何销毁?

  • 对话框的调用。

模态:

CTestDlg d1; d1.DoModal();//推荐使用

两句就可以了,创建显示都自动完成。也可以用CTestDlg *d1=new CTestDlg;d1->DoModal();,但是要显示的在后面添加delete d1.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值