计算机程序设计语言与方法-l.ppt
Windows(Win32)APIl API(Application Programming Interface)l Win32 环境下的所有应用程序都直接或间接地调用Windows 提供得Win32 API 函数.l 动态链接库l 组件对象模型(COM).l MSDN 的使用Windows API 调用注意事项l 动态链接库查找顺序l 应用程序所在的当前目录l Windows 目录l Windows 系统目录l 系统环境变量指示的目录Windows 编程l WinMain 主函数l 窗体结构体l 注册窗体l 构造和显示窗体l 消息结构体l 回调函数l 消息循环l 消息处理WinMain 函数l int WINAPI WinMain(l HINSTANCE hInstance,/handle to current instance l HINSTANCE hPrevInstance,/handle to previous instance l LPSTR lpCmdLine,/command line l int nCmdShow/show state);窗体结构体l typedef struct _WNDCLASS l UINT style;/显示风格l WNDPROC lpfnWndProc;/回调函数l int cbClsExtra;/类额外内存l int cbWndExtra;/窗体额外内存l HINSTANCE hInstance;/实例句柄l HICON hIcon;/图标类型l HCURSOR hCursor;/光标类型l HBRUSH hbrBackground;/背景类型l LPCTSTR lpszMenuName;/菜单类型l LPCTSTR lpszClassName;/类名称 WNDCLASS,*PWNDCLASS;注册窗体类l ATOM RegisterClass(l CONST WNDCLASS*lpWndClass/class data);窗体构造l HWND CreateWindow(l LPCTSTR lpClassName,/registered class namel LPCTSTR lpWindowName,/window namel DWORD dwStyle,/window style l int x,/horizontal position of window l int y,/vertical position of window l int nWidth,/window width l int nHeight,/window height l HWND hWndParent,/handle to parent or owner windowl HMENU hMenu,/menu handle or child identifier l HINSTANCE hInstance,/handle to application instance l LPVOID lpParam/window-creation data);窗体显示l BOOL ShowWindow(l HWND hWnd,/handle to window l int nCmdShow/show state);窗体更新l BOOL UpdateWindow(l HWND hWnd/handle to window);消息结构体l typedef struct tagMSG l HWND hwnd;/消息所属窗体句柄(类似指针)l UINT message;/消息本身(宏表示)l WPARAM wParam;/消息额外信息(整数)l LPARAM lParam;/消息额外信息(整数)l DWORD time;/发送时间l POINT pt;/消息发送是光标位置l MSG,*PMSG;回调函数l LRESULT CALLBACK WindowProc(l HWND hwnd,/handle to window l UINT uMsg,/message identifier l WPARAM wParam,/first message parameter l LPARAM lParam/second message parameter);获取消息l BOOL GetMessage(l LPMSG lpMsg,/message information l HWND hWnd,/handle to window l UINT wMsgFilterMin,/first message l UINT wMsgFilterMax/last message);消息转换l BOOL TranslateMessage(l CONST MSG*lpMsg/message information l);消息分发l LRESULT DispatchMessage(l CONST MSG*lpmsg/message information l);回调函数中消息处理