持续更新中...
Windows程序设计:不同于DOS,事件驱动,基于消息
事件:鼠标或键盘动作
消息:
typedef struct tagMSG{
HWND hwnd;
UINT message;
WPARAM wParam;
LPARAM lPram;
DWORD time;
POINT pt
}MSG;
WinMain函数:
int WINAPI WinMain(
HINSTANCE hInstance, //handel to current instance
HINSTANCE hPreInstance,//handle to previous instance
LPSTR lpCmdLine, //command line
int nCmdShow //show state
);
窗口的创建步骤:
1.设计一个窗口类
typedef struct _WNDCLASS{
UINT style;
WNDPROC lpfnWndProc;
int cbClsExtra;
HANDLE hInstance;
HICON hIcon;
HCURSOR hCursor;
HBRUSH hbrBackgound;
LPCTSTR lpszMenuName;
LPCTSTR lpszClassName;
}WNDCLASS;
2.注册窗口类
ATOM RegisterClass(CONST WNDCLASS *lpWndClass);
3.创建窗口
HWND CreateWindow(
LPCTSTR lpClassName, //pointer to registered class name
LPCTSTR lpWindowName, //pointer to window name
DWORD dwStyle, //window style
int x, //horizontal position of window
int y, //vertical position of window
int nWidth, //window width
int nHeight, //window height
HWND hWndParent, //handle to parent or owner window
HMENU hMenu, //handle to menu or child-window identifier
HANDLE hInstance, //handle to application instance
LPVOID lpParam //pointer to window-creation data
);
4.显示及更新窗口
显示窗口:
BOOL ShowWindow(
HWND hWnd, //handle to window
int nCmdShow //show state
关于头文件.h
< >和" "的区别:编译器在搜索头文件时的顺序不同,
< >表示从系统目录下开始搜索,然后再搜索PATH环境变量所列出的目录,不搜索当前目录;
" "表示从当前目录搜索,然后是系统目录和PATH中的目录,可以加快搜索速度。
宏的定义:多次包含同一个头文件,解决头文件的重复包含问题,可以使用条件预处理指令,修改头文件如以下形式
#ifndef XXX_H_H
#define XXX_H_H
.......
#endif