lession1
DWORD 32位
*********************************************************
一类变量 每位(bit)对应某特性
加入某类特性:用或(|)操作符
去处某特性:对该量取反(~)再与原值相与(&)
*********************************************************
设计 WNDCLASS wndcls;
注册 RegisterClass(&wndcls);
创建 HWND hwnd;
hwnd=CreateWindow(……);
显示 ShowWindow(hwnd,SW_SHOWNORMAL);
(刷新) UpdateWindow(hwnd);
消息循环 MSG msg;
while(GetMessage(&msg,NULL,0,0))
{
TranslateMessage(&msg);//转换消息 转换后产生一个新消息投到队列 //(例如WM_KEYDOWN转换为WM_CHAR)
DispatchMessage(&msg); //将消息给操作系统 系统调用回掉函数
}
******************************************************
CS ClassStyle
WM windowMessage
SW ShowWindow
*Windows**类型*
*样本变量*
*MFC**类*
*样本变量*
*HWND*
hWnd;
*CWnd**
pWnd;
*HDLG*
hDlg;
*CDialog**
pDlg;
*HDC*
hDC;
*CDC**
pDC;
*HGDIOBJ*
hGdiObj;
*CGdiObject**
pGdiObj;
*HPEN*
hPen;
*CPen**
pPen;
*HBRUSH*
hBrush;
*CBrush**
pBrush;
*HFONT *
hFont;
*CFont**
pFont;
*HBITMAP *
hBitmap;
*CBitmap**
pBitmap;
*HPALETTE *
hPaltte;
*CPalette**
pPalette;
*HRGN *
hRgn;
*CRgn**
pRgn;
*HMENU *
hMenu;
*CMenu**
pMenu;
*HWND *
hCtl;
*CState* *
pState;
*HWND *
hCtl;
*CButton**
pButton;
*HWND *
hCtl;
*CEdit**
pEdit;
*HWND *
hCtl;
*CListBox**
pListBox;
*HWND *
hCtl;
*CComboBox**
pComboBox;
*HWND *
hCtl;
*CScrollBar**
pScrollBar;
*HSZ *
hszStr;
*CString *
pStr;
*POINT *
pt;
*CPoint *
pt;
*SIZE *
size;
*CSize *
size;
*RECT *
rect;
*CRect *
rect;
*一般前缀命名规范*
*前缀*
*类型*
*实例*
*C*
*I*
类或结构
接口
CDocument,CPrintInfo
IDocument
*m_*
*WM_*
**on
成员变量
windows消息
时间处理方法
m_pDoc,m_nCustomers
WM_PAINT
onMouseOver
**
*变量命名规范 ***
*前缀*
*类型*
*描述*
*实例*
*ch*
char
8位字符
chGrade
*ch *
TCHAR
如果*_UNICODE*定义,则为16位字符
chName
*b*
BOOL
布尔值
bEnable
*n *
int
整型(其大小依赖于操作系统)
nLength
*n *
UINT
无符号值(其大小依赖于操作系统)
nHeight
*w *
WORD
16位无符号值
wPos
*l *
LONG
32位有符号整型
lOffset
*dw *
DWORD
32位无符号整型
dwRange
*p *
*
指针
pDoc
*lp *
FAR*
远指针
lpszName
*lpsz *
LPSTR
32位字符串指针
lpszName
*lpsz *
LPCSTR
32位常量字符串指针
lpszName
*lpsz *
LPCTSTR
如果*_UNICODE*定义,则为32位常量字符串指针
lpszName
*h *
handle
Windows对象句柄
hWnd
*lpfn *
callback
指向*CALLBACK*函数的远指针
?
*应用程序符号命名规范*
*前缀*
*符号类型*
*实例*
*范围*
*IDR_ *
不同类型的多个资源共享标识
IDR_MAIINFRAME
1~0x6FFF
*IDD_*
对话框资源
IDD_SPELL_CHECK
1~0x6FFF
*HIDD_*
对话框资源的Help上下文
HIDD_SPELL_CHECK
0x20001~0x26FF
*IDB_ *
位图资源
IDB_COMPANY_LOGO
1~0x6FFF
*IDC_*
光标资源
IDC_PENCIL
1~0x6FFF
*IDI_*
图标资源
IDI_NOTEPAD
1~0x6FFF
*ID_*
来自菜单项或工具栏的命令
ID_TOOLS_SPELLING
0x8000~0xDFFF
*HID_*
命令Help上下文
HID_TOOLS_SPELLING
0x18000~0x1DFFF
*IDP_*
消息框提示
IDP_INVALID_PARTNO
8~0xDEEF
*HIDP_*
消息框Help上下文
HIDP_INVALID_PARTNO
0x30008~0x3DEFF
*IDS_*
串资源
IDS_COPYRIGHT
1~0x7EEF
*IDC_*
对话框内的控件
IDC_RECALC
8~0xDEEF
**
*Microsoft MFC**宏命名规范*
*名称*
*类型*
*_AFXDLL*
唯一的动态连接库(Dynamic Link Library,DLL)版本
*_ALPHA*
仅编译DEC Alpha处理器
*_DEBUG*
包括诊断的调试版本
*_MBCS*
编译多字节字符集
*_UNICODE*
在一个应用程序中打开Unicode
*AFXAPI *
MFC提供的函数
*CALLBACK*
通过指针回调的函数
*库标识符命名法*
*标识符*
*值和含义*
*u *
ANSI(N)或Unicode(U)
*d *
调试或发行:D = 调试;忽略标识符为发行。
*静态库版本命名规范*
*库*
*描述*
*NAFXCWD.LIB*
调试版本:MFC静态连接库
*NAFXCW.LIB*
发行版本:MFC静态连接库
*UAFXCWD.LIB*
调试版本:具有Unicode支持的MFC静态连接库
*UAFXCW.LIB*
发行版本:具有Unicode支持的MFC静态连接库
*动态连接库命名规范*
*名称*
*类型*
*_AFXDLL*
唯一的动态连接库(DLL)版本
*WINAPI *
Windows所提供的函数
**
**
*Windows.h**中新的命名规范*
*类型*
*定义描述*
*WINAPI*
使用在API声明中的FAR PASCAL位置,如果正在编写一个具有导出API人口点的DLL,则可以在自己的API中使用该类型
*CALLBACK*
使用在应用程序回叫例程,如窗口和对话框过程中的FAR PASCAL的位置
*LPCSTR*
与LPSTR相同,只是LPCSTR用于只读串指针,其定义类似(const char FAR*)
*UINT*
可移植的无符号整型类型,其大小由主机环境决定(对于Windows NT和Windows 9x为32位);它是unsigned int的同义词
*LRESULT*
窗口程序返回值的类型
*LPARAM*
声明lParam所使用的类型,lParam是窗口程序的第四个参数
*WPARAM*
声明wParam所使用的类型,wParam是窗口程序的第三个参数
*LPVOID*
一般指针类型,与(void *)相同,可以用来代替LPSTR