概述
WIN32编程
1.What should I know beforehand?
- the concept of the window
- the concept of the event drive
- the applicant of messege in coding
- object and the histance
2.Window
window is the base unit(单元) in Win applicant
3.Message
Message is used to describe the event happening.For a example, when the mouse knickdown,there will be a message to record(记录) it. It will be convenient especially in programing the Interactive program(交互式程序).
4.Handle & Windows message
Handle is the basics of the whole windows programing.It is expressed by a PVOID type. Every Handle can mark the Unique object in application.The unique object can be a window,a button, a icon,a scroolbar,a outputDC(输出设备) or a file...The application can visit the information by Handle.
5.Here are some useful kinds of Handles
HWND
HISTANCE
HCURSOR
HDC
HBITMAP
HICON
HMENU
HFILE
HPEN
HBRUSH
HFONT
6.The construction of a windows message
- 消息号
- 字参数
- 长字参数
7.Some frequent Windows Message
- WM_LBUTTONDOWN
- WM_KEYDOWN
- WM_CHAR
- WM_CREATE 调用CreateWindow时产生的消息
- WM_CLOSE
- WM_DESTROY
- WM_PAINT ★★★
8.The construction of a WIn program source ".cpp"
入口函数WinMain+窗口函数Winproc
1. WinMain: do some definition and initiation.And it will produce the message circulation.The message ciculation is the kernel of the whole project.
2.WinProc: It is consist of a series of "switch".
9.Some datastructure
MSG
WNDCLASSEX
RECT
POINT
10.GDI,Graphics Device Interface
11.DC,Device context设备描述表
There exits three types of the DC
- Display:屏幕显示
- Print:打印机
- Storage:Bitmap
- Message:设备数据恢复
12.DC & the relevant function
13.Here are three ways to Get the Device enviorment
- BeginPaint(hwnd,&ps)
- GetDC
- GetDCEx
14. The Universal Applied (普遍应用的) Mapping(映射) mode
MM_TEXT
15.TextOut()
16.键盘输入——>扫描码——>虚拟码
17.按键分为系统按键和非系统按键
18.光标cursor 插字符caret
19.ScreenToClient()屏幕坐标转化为窗口坐标
20.Resource资源的使用
- Resource.h 设定资源的消息ID
Resource.rc 定义资源,设定资源ID名称,属性,样式等。
- 菜单+加速键
- CHECKED
- INACTIVE
- MENUBARBREAK
- GRAYED
- WM_COMMAND消息中字参数wParam中包含选中菜单项的标识
- 加载菜单在窗口类中wndclass.lpszMenuname = ? OR 在创建窗口时加载菜单,此时要用到LoadMenu函数,在CreateWIndow的参数中设置菜单 OR 使用SetMenu动态加载菜单,提高灵活性。
- EnableMenuItem()禁用或者激活菜单项 EnableMenuItem(hmenu,IDM_OPEN,MF_BYCOMMAND|MF_DISABLED)
- SendMessage(hWnd,WM_DESTROY,0,0);这个向窗口发送消息的函数经常使用
- DrawMenuBar()刷新并重新显示菜单
21.内存环境的黄建及初始化工作一般通过相应消息WM_CREATE完成
22.位图输出至屏幕有两个函数
- Bitblt保持原始尺寸
- StretchBlt()多了一个目标尺寸
MFC编程
1.CWnd类和消息映射机制隐藏了窗口函数WndProc,onMessage()
2.以Afx开头的函数除了数据库类函数和DDX函数外,都表示这是一个全局函数
3.控件
- 几乎所有的控件都继承了XWnd类
4.为控件添加消息映射
- 声明:afx_msg void OnBnclickedButton1();
- 消息映射:ON_BN_CLICKED(IDC_BUTTON1,&CAboutDlg::OnClickedButton1);
- 函数体:实现声明
- 因此如果要删除映射必须将以上三个部分一起删除
5.在应用程序中使用控件的时候,往往要获取控件的指针或者控件的名称。
CEdit *pEdit = (CEdit*)GetDlgItem(IDD_EDIT1);
默认返回的控件基类是CWnd,所以使用的时候往往要进行强制类型转换。
6.UpdateData的作用
当为控件添加变量且变量的类型是value的时候,控件中的内容和变量的值可能不一样,所以先、
UpdateData(FALSE)刷新,当修改完变量的值之后,再UpdateData(TRUE)再次刷新,这样在对话框中心的value就能显示出来了。
最后
以上就是贪玩鸡为你收集整理的Windows程序设计学习笔记WIN32编程MFC编程的全部内容,希望文章能够帮你解决Windows程序设计学习笔记WIN32编程MFC编程所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复