1.在MFC中,所有的控件类都是由CWnd类派生来的,因此,控件实际上也是窗口。

2.

3.对话框的种类

模态对话框

模态对话框是指当其显示时,程序会暂时执行,直到关闭这个模态对话框后,才能继续执行程序中其他任务。

非模态对话框

当非模态对话框显示时,允许转而执行程序中其他任务,而不用关闭这个对话框。

4.在MFC中,对资源的操作通常都是通过一个与资源相关的类来完成的。

5.模态对话框的创建

void CMybobleView::OnDialog()
{
CTestDlg dlg;
dlg.DoModal();
}

6.非模态对话框的创建

(1)需要利用CDialog类的Create成员函数来创建

BOOL Create(LPCTSTR lpszTemplateName,CWnd* pParentWnd = NULL);
BOOL Create(UINT nIDTemplate,CWnd* pParentWnd = NULL);

(2)显示对话框

dlg.ShowWindow(SW_SHOW);

(3)dlg变量应为类的成员变量,而不能是局部变量。

7.点击对话框上的【OK】按钮时,对话框都会消失。对模态对话框而言,此时对话框窗口对象被销毁了。而对非模态对话框来说,对话框窗口对象并未被销毁,只是隐藏起来了。单击OK按钮会调用基类(CDialog)的OnOK函数,这是一个虚函数。该函数会调用EndDialog函数,这个函数用于终止模态对话框,而对于非模态对话框,这个函数使对话框窗口不可见,并不销毁它。因此,对非模态对话框来说,对OK按钮,必须重写基类的OnOK函数,并在重写的函数中调用DestroyWindow函数,同时注意不要调用基类的OnOK函数。OnCancel函数类似。

8.为了使一个静态文本控件能够响应鼠标单击消息,那么需要进行两个特殊的步骤:第一步,改变它的ID;第二步,在它的属性对话框选中Notify选项。

VC++深入详解读书笔记-第七章对话框的更多相关文章

  1. VC++深入详解读书笔记-第六章菜单

    1.MFC都是采用大写字母来标识资源ID号. 2.程序中会用到多种资源,在为资源确定其ID号时,为了明确区分资源类型,一般都遵循这样一个原则:在“ID”字符串后加上一个标识资源类型的字母,例如,我们给 ...

  2. TCP/IP详解读书笔记:ARP-地址解析协议

    地址解析为两种不同的地址形式提供映射:32bit的IP和数据链路层使用的任何类型的地址. 当一台主机把以太网数据帧发送到位于同一局域网的另一台主机,是根据48bit的以太网地址而不是IP地址.设备驱动 ...

  3. TCP/IP详解读书笔记:链路层

    在TCP/IP协议族中,链路层主要有三个目的: 1)为IP模块发送和接受IP数据报: 2)为ARP模块发送ARP请求和接受ARP应答: 3)为RARP模块发送RARP请求和接受RARP应答: 以太网和 ...

  4. TCP/IP详解读书笔记:概述

    分层 分层是一种很通用的架构模式.通过分层,可以把一个系统分解成多个层,每个层专注于各自的功能,并提供接口给上面的层调用.上面的层不需要了解调用层的详细实现,只依赖于其接口,这就给维护带来了很大的好处 ...

  5. Java并发编程详解读书笔记(一)

    一.线程介绍 讲线程之前得先了解进程(Peocess),现在的操作系统基本都支持多任务的进行,举个场景:有许多的程序员们喜欢边coding边听点轻音乐.这时计算机就是做并行任务,也就是有多个进程在同时 ...

  6. 孙鑫视频VC++深入详解学习笔记

    孙鑫视频VC++深入详解学习笔记 VC++深入详解学习笔记 Lesson1: Windows程序运行原理及程序编写流程 Lesson2: 掌握C++基本语法 Lesson3: MFC框架程序剖析 Le ...

  7. Android群英传笔记——第七章:Android动画机制和使用技巧

    Android群英传笔记--第七章:Android动画机制和使用技巧 想来,最 近忙的不可开交,都把看书给冷落了,还有好几本没有看完呢,速度得加快了 今天看了第七章,Android动画效果一直是人家中 ...

  8. JVM学习笔记-第七章-虚拟机类加载机制

    JVM学习笔记-第七章-虚拟机类加载机制 7.1 概述 Java虚拟机描述类的数据从Class文件加载到内存,并对数据进行校验.转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型,这个过程被 ...

  9. [Python学习笔记][第七章Python文件操作]

    2016/1/30学习内容 第七章 Python文件操作 文本文件 文本文件存储的是常规字符串,通常每行以换行符'\n'结尾. 二进制文件 二进制文件把对象内容以字节串(bytes)进行存储,无法用笔 ...

随机推荐

  1. iOS 关于tableView中有多个textField,输入框被遮住的解决方法

    这里采用tableView整体上移的方法. 代码:(其中 60 为 单元格的高度) //点击输入框触发 - (void)textFieldDidBeginEditing:(UITextField *) ...

  2. UI开发学习中遇到的问题汇总

    1.给UIView设置圆角,边框,阴影绘制,需要使用layer 1)设置圆角cornerView.layer.cornerRadius = 20; //设置试图圆角的大小cornerView.laye ...

  3. css架构目标:预测,重用,扩展,维护

    请参看下面链接: CSS架构目标:预测.重用.扩展.维护

  4. Log4Net 的简要配置

    引用log4net.dll AssemblyInfo.cs中 [assembly: AssemblyVersion("1.0.0.0")] [assembly: AssemblyF ...

  5. 解决mac ssh连linux中文乱码的问题[转]

    将Mac下/etc/ssh_config中的SendEnv LANG LC_*这一行用#号注释掉 reference: http://www.zhihu.com/question/20117388

  6. 转:Linux中find命令-path -prune用法详解

    在Windows中可以在某些路径中查找文件,也可以设定不在某些路径中查找文件,下面用Linux中的find的命令结合其-path -prune参数来看看在Linux中怎么实现此功能. 假如在当前目录下 ...

  7. Nginx的Upload上传模块

    前段时间做一个项目,需要上传文件,差不多需要20M左右,普通用php处理会比较麻烦,经常超时,而且大量占用资源.于是搜索了下,决定用nginx的upload上传模块来处理. 你可以在这里:http:/ ...

  8. Extjs Tooltip属性的使用

    要想让 tooltip生效必须:Ext.QuickTips.init();

  9. FAT16文件系统简介

    有必要说明一下,以下对FAT16系统的介绍,很多都是参考文献.由于FAT16系统一般在U盘.MMC卡.SD卡以及一些小型存储设备上使用比较多,以后把这些小型存储设备统称为存储卡,这里仅局限于对存储卡的 ...

  10. Jump Game 解答

    Question Given an array of non-negative integers, you are initially positioned at the first index of ...