首页 »VB教程 » windowsapi函数:Windows API一日一练(15)PostQuitMessage函数 »正文
windowsapi函数:Windows API一日一练(15)PostQuitMessage函数
来源: 发布时间:星期一, 2009年9月28日 浏览:3次 评论:0
自然界面里 各种生物都是有其生命周期 也是有其生命周期 创建时就是它出生了 当它运行工作中就是成年期 最后少不了要死亡 那么 死亡是如何样出现 呢?像以前介绍 GetMessage里是使用 个循环不断地检测消息 周止复始 是不可能出现死亡 但它会检测到消息WM_QUIT就退出来 那现在问题是谁发送WM_QUIT消息出来呢?这就是PostQuitMessage 所做 工作 当你点击窗口右上角 关闭时 Windows就会把窗口从系统里删除 这时就会发出消息WM_DESTROY给窗口消息处理 WindowProc WindowProc收到这条消息后 最需要做 件事情就是 PostQuitMessage发出退出消息 让消息循环结束 PostQuitMessage声明如下: WINUSERAPI VOID WINAPI PostQuitMessage( __in nExitCode); nExitCode是退出标识码 它被放到WM_QUIT消息 参数wParam里 这个 例子如下: #001 // #002 // 目: 处理主窗口消息. #003 // #004 // 蔡军生 2007/07/12 QQ:9073204 #005 // #006 LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) #007 { #008 wmId, wmEvent; #009 PAINTSTRUCT ps; #010 HDC hdc; #011 #012 switch (message) #013 { #014 WM_COMMAND: #015 wmId = LOWORD(wParam); #016 wmEvent = HIWORD(wParam); #017 // 菜单选项命令响应: #018 switch (wmId) #019 { #020 IDM_ABOUT: #021 DialogBox(hInst, MAKEINTRESOURCE(IDD_ABOUTBOX), hWnd, About); #022 ; #023 IDM_EXIT: #024 DestroyWindow(hWnd); #025 ; #026 default: #027 DefWindowProc(hWnd, message, wParam, lParam); #028 } #029 ; #030 WM_PAINT: #031 hdc = BeginPa(hWnd, &ps); #032 // #033 EndPa(hWnd, &ps); #034 ; #035 WM_DESTROY: #036 PostQuitMessage(0); #037 ; #038 default: #039 DefWindowProc(hWnd, message, wParam, lParam); #040 } #041 0; #042 } 第36行就是 PostQuitMessage来处理退出应用
相关文章
读者评论
发表评论
|
|