MFC学习:基于对话框(2)

本文介绍如何在MFC中显示和修改对话框控件的Tab顺序,通过Visual Studio的‘Format’->'Tab Order'功能实现。同时,文章探讨了模态和非模态对话框的区别,模态对话框在弹出后阻止其他窗口交互,而非模态对话框允许。以OnBnClickedAddButton()函数为例,展示了如何创建和显示模态对话框,并使用DoModal()函数判断用户操作。最后,提到非模态对话框的创建与显示与模态对话框相似。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

VS2010

资料来源鸡啄米


如何显示Tab顺序

我们先来直观的看看各个控件的Tab顺序吧。打开“Resource View”视图,然后在资源中找到对话框IDD_ADDITION_DIALOG,双击ID后中间客户区域出现其模板视图。在主菜单中选择“Format”->"Tab Order",或者按快捷键Ctrl+D,对话框模板上就会显示各个控件的Tab顺序数字。


通过单击可以修改 Tab顺序

  

 Windows对话框分为两类:

模态对话框:

 模态对话框是这样的对话框,当它弹出后,本应用程序其他窗口将不再接受用户输入,只有该对话框响应用户输入,在对它进行相应操作退出后,其他窗口才能继续与用户交互。

非模态对话框:

非模态对话框则是,它弹出后,本程序其他窗口仍能响应用户输入。非模态对话框一般用来显示提示信息等。


新增模态对话框:

添加一个新对话框的方法:(光写函数修改,至于对话框的添加在资源视图进行也不好描述,可以直接下载鸡啄米的资料看,真的蛮详细的)

修改OnBnClickedAddButton()的函数体(也就是第一个对话框有一个按钮他有相对应的函数操作),在所有代码前,构造CTipDlg类的对象tipDlg,并通过语句tipDlg.DoModal();弹出对话框,最后判断DoModal()函数的返回值是IDOK还是IDCANCEL来决定后面的操作。


非模态对话框的创建和显示:

实际上,模态对话框和非模态对话框在创建对话框资源和生成对话框类上是没有区别的,所以上一讲中创建的IDD_TIP_DIALOG对话框资源和CTipDlg类都不需要修改。

仅仅需要把原先创建的对象改成指针指向,用new来创建,记得要在第一个对话框的析构函数中把资源删除,然后析构函数的声明要在后门面的public中声明(编写代码的时候试着在第一个public声明结果就是错的,但是在后一个那就没有问题了)。


P46  看到文档的位置。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值