鱼C论坛

 找回密码
 立即注册

PostQuitMessage_____摘自百度百科

热度 1已有 637 次阅读2013-7-11 17:33 |个人分类:Windows 编程

函数功能:该函数向系统表明有个线程有终止请求。通常用来响应WM_DESTROY消息。
函数原型:VOID PostQuitMessage(int nExitCode);
参数:
nExitCode:指定应用程序退出代码。此值被用作消息WM_QUIT的wParam参数。
返回值:无。
备注:PostQuitMessage寄送一个WM_QUIT消息给线程的消息队列并立即返回;此函数向系统表明有个线程请求在随后的某一时间终止。
当线程从消息队列里取得WM_QUIT消息时,应当退出消息循环并将控制返回给系统。返回给系统的退出值必须是消息WM_QUIT的wParam参数。
速查:Windows NT:3.1及以上版本;Windows:95及以上版本;Windows CE:1.0及以上版本;头文件:winuser.h;输入库:user32.lib:Uhicode:在Wihdows NT环境下以Unicode和ANSI方式实现。
示例:
LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
{
static int  cxChar, cxCaps, cyChar;
TCHAR       szBuffer[10];
HDC         hdc;
int         i;
PAINTSTRUCT ps;
TEXTMETRIC  tm;
switch (message)
{
case WM_CREATE:
hdc = GetDC(hwnd);
GetTextMetrics(hdc, &tm);
cxChar = tm.tmAveCharWidth;
cxCaps = (tm.tmPitchAndFamily & 1 ? 3 : 2) * cxChar / 2;
cyChar = tm.tmHeight + tm.tmExternalLeading;
ReleaseDC(hwnd, hdc);
return 0;
case WM_PAINT:
hdc = BeginPaint(hwnd, &ps);
for(i = 0; i < NUMLINES; i++)
{
ExtTextOut(hdc, 0, cyChar * i, 0, NULL,
devcaps[i].szDesc,
lstrlen(devcaps[i].szDesc),
NULL);
SetTextAlign(hdc, TA_RIGHT | TA_TOP);
ExtTextOut(hdc, cxChar * 47, cyChar * i, 0, NULL,
szBuffer,
wsprintf(szBuffer, TEXT("%5d"), GetDeviceCaps(hdc, devcaps[i].iIndex)),
NULL);
SetTextAlign (hdc, TA_LEFT | TA_TOP) ;
}
EndPaint(hwnd, &ps);
return 0;
case WM_DESTROY:
PostQuitMessage(0);
return 0 ;
}
return DefWindowProc(hwnd, message, wParam, lParam);
}

路过

鸡蛋

鲜花
1

握手

雷人

刚表态过的朋友 (1 人)

全部作者的其他最新日志

评论 (0 个评论)

facelist

您需要登录后才可以评论 登录 | 立即注册

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-19 07:56

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

返回顶部