1.DoModal创建模态对话框

2.Create创建非模态对话框(需要用ShowWindow显示出来)

模态:对话框显示,程序会暂停,直到对话框关闭

非模态:对话框显示,程序继续执行

3.对于模态对话框,点击确定/取消对话框被销毁,而对于模态对话框,只是被隐藏

4.对于模态对话框,需要在自己的类中覆盖OnOK这个虚函数,在OnOK中调用DestroyWindow

5.GetWindowText获取窗口文本

6.GetDlgItem获取对话框控件指针

7.SetWindowText设置窗口文本

8.静态文本框(标签)不能接收通知消息,除非把notify复选上

9.GetDlgItemText获取控件文本

10.SetDlgItemText设置控件文本

11.GetDlgItemInt获取控件数字

12.SetDlgItemInt设置控件数字

13.UpdateData参数为TRUE,获取数据,参数为FALSE,设置数据

在类向导里添加关联成员变量

14.WM_GETTEXT消息获取控件文本

An application sends a WM_GETTEXT message to copy the text that corresponds to a window into a buffer provided by the caller.

To send this message, call the SendMessage function with the following parameters.

SendMessage(

(HWND) hWnd,              // handle to destination window

WM_GETTEXT,               // message to send

(WPARAM) wParam,          // number of characters to copy

(LPARAM) lParam           // text buffer

);

15.WM_SETTEXT设置控件文本

wParam必须为0

16.SendDlgItemMessage向控件发送消息

17.EM_SETSEL

EM_SETSEL

The EM_SETSEL message selects a range of characters in an edit control. You can send this message to either an edit control or a rich edit control.

To send this message, call the SendMessage function with the following parameters.

SendMessage(

(HWND) hWnd,              // handle to destination window

EM_SETSEL,                // message to send

(WPARAM) wParam,          // starting position

(LPARAM) lParam          // ending position

);

18.EM_GETSEL

EM_GETSEL

The EM_GETSEL message retrieves the starting and ending character positions of the current selection in an edit control. You can send this message to either an edit control or a rich edit control.

To send this message, call the SendMessage function with the following parameters.

SendMessage(

(HWND) hWnd,              // handle to destination window

EM_GETSEL,                // message to send

(WPARAM) wParam,          // starting position (LPDWORD)

(LPARAM) lParam          // ending position (LPDWORD)

);

19.SetFocus设置焦点

20.GetFocus  获取焦点所在窗口

21.

22.IsRectEmpty判断矩形区域面积是否为0

23IsRectNull判断矩形区域四个参数是否都为0

24.

25.

26.

27.SetWindowPos可以改变窗口大小、z-order等状态

28.SetWindowLong设置窗口属性

29.WM_INITDIALOG在对话框创建前产生

30.GetNextWindow获取下一个窗口句柄

31.GetWindow获取窗口句柄

32.GetNextDlgTabItem获取下一个tab窗口

33.IDOK是OK按钮的缺省消息ID,不是IDC_OK

 用菊子曰博客,就是爽!

孙鑫MFC学习笔记7:对话框编程(上)的更多相关文章

  1. 孙鑫MFC学习笔记14:网络编程

    1.OSI 2.TCP/IP与OSI对应关系 3.Socket 4.客户机/服务器模式 5.Windows Sockets 6.套接字类型 7.面向连接的socket编程 8.面向无连接的socket ...

  2. 孙鑫MFC学习笔记6:菜单编程

    1.对菜单响应的顺序: 视类,文档类,框架类,应用程序类 2.消息的分类 3.CWnd继承自CCmdTarget类, 所以从CWnd派生出的类也可以接收WM_COMMAND消息 4.命令的消息路由 5 ...

  3. 孙鑫VC学习笔记:多线程编程

    孙鑫VC学习笔记:多线程编程 SkySeraph Dec 11st 2010  HQU Email:zgzhaobo@gmail.com    QQ:452728574 Latest Modified ...

  4. 孙鑫MFC学习笔记8:对话框编程(下)

    1.在按钮上没有字体设置,但是在对话框上有字体设置 2.让按钮进行消息响应 *1.创建按钮 *2.创建从按钮继承的类 *3.关联对象 3.属性页编程 *1.在对话框资源中新建属性页 *2.为属性页创建 ...

  5. 孙鑫MFC学习笔记20:Hook编程

    1.HOOK拦截消息,设置越后的钩子优先级越高(钩子队列)2.SetWindowHookEx设置钩子    如果thread identifier为0或其他进程创建的线程,回调函数需要在动态链接库中声 ...

  6. 孙鑫MFC学习笔记9:状态栏与工具栏编程

    1.在窗口创建之前就应该修改窗口的样式 2.单文档应用程序会把文档名作为应用程序标题,应该去掉FWS_ADDTOTITLE属性,然后修改lpszName为标题 3.在窗口创建完成后,可以通过SetWi ...

  7. 孙鑫MFC学习笔记12:文件读写

    1.指向常量的指针 2.指针常量 3.C语言对文件操作是在缓冲区,在缓冲区满或文件关闭时写入文件 读取相同 4.fflush刷新缓冲区,使缓冲区数据写入文件 5.fseek改变文件指针偏移量 6.st ...

  8. 孙鑫MFC学习笔记13:文档

    1.CArchive类保存内存数据 2.CAchive类重载了>>与<<操作符,类似C++文件流 3.在OnNewDocument中通过SetTitle设置标题 4.字符串资源 ...

  9. 孙鑫MFC学习笔记10:画图/贴图

    1.SetPixel在指定点设置像素 2.虚线.点线宽度必须为1 3.CColorDialog创建颜色对话框 4.需要设置CC_RGBINIT标志才能设置颜色对话框的默认颜色 5.CC_FULLOPE ...

随机推荐

  1. 从体系架构上分析PRINCE2和pmp的区别

    一, 目标不同 PMP希望造就一个高效的项目经理,PRINCE2希望做成一个高效的项目. 二, 定位不同 PMP 是框架,PMBOK是指南,是统一化语音,是统一指导项目经理what to do. 而P ...

  2. [开发工具]Java开发常用的在线工具

    注明: 本文转自http://www.hollischuang.com/archives/1459.作为一个Java开发人员,经常要和各种各样的工具打交道,除了我们常用的IDE工具以外,其实还有很多工 ...

  3. 过滤器中的chain.doFilter(request,response)

    Servlet中的过滤器Filter是实现了javax.servlet.Filter接口的服务器端程序,主要的用途是过滤字符编码.做一些业务逻辑判断等.其工作原理是,只要你在web.xml文件配置好要 ...

  4. 为什么项目的jar包会和tomcat的jar包冲突?

    为什么项目的jar包会和tomcat的jar包冲突? 碰到这个问题,猜测tomcat启动时会将自己的lib和项目的lib在逻辑上归并为一个大的lib,但是并没有做版本区分以及去重,这样相同的包可能就有 ...

  5. Sublime快速上手

    在当前的互联网时代,任何程序语言和相关技术都只是实现互联网应用的一种手段,这也就造成了大量的互联网工程师长期与不同的语言.技术.系统环境.IDE等打交道.因此一个相对统一方便的IDE对于程序员来说显得 ...

  6. python数据操作方法封装

    工作中经常会用到数据的插叙.单条数据插入和批量数据插入,以下是本人封装的一个类,推荐给各位: #!/usr/bin/env python # -*- coding:utf-8 -*- # Author ...

  7. ThinkPHP5 隐藏接口里面的index.php

    隐藏index.php 官方介绍是这样的:http://www.kancloud.cn/thinkphp/thinkphp5_quickstart/145250 可以去掉URL地址里面的入口文件ind ...

  8. 移动端调试工具DebugGap推荐。

    因为现在项目大部分都是在写移动端,但是调试起来实在是不方便,虽然可以用chrome来模拟手机端,但实际上差别还是有点大的,最近找到了一款比较不错的调试工具,这里分享一下了,虽然网上已经有分享过了,但还 ...

  9. SharePoint 2013连接非默认端口的SQL Server

        SharePoint 2013场在连接的时候不允许出现连接地址中包含端口号,否则场配置就会报错,在执行到配置场数据库时无法完成.     此时如果SQL Server不是用的默认端口1433的 ...

  10. ZOJ 3804 YY's Minions (简单模拟)

    /* 题意:一个矩阵中有 n*m个宠物,每一个宠物都有一个状态, 1醒着的,0睡着的 X离开的!如果这个宠物(醒着的)的周围醒着的个数>3 || <2它就会睡着, 如果这个宠物(睡着的)的 ...