Windows编程之以定时器进行状态报告.pdf
上传人:qw****27 上传时间:2024-09-12 格式:PDF 页数:7 大小:65KB 金币:15 举报 版权申诉
预览加载中,请您耐心等待几秒...

Windows编程之以定时器进行状态报告.pdf

Windows编程之以定时器进行状态报告.pdf

预览

在线预览结束,喜欢就下载吧,查找使用更方便

15 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

Windows编程之以定时器进行状态报告本章的最后一个程序是我在第五章提到过的。它是一个使用GetPixel函数的好例子。WHATCLR(见程序8-5)显示了鼠标光标下目前图素的RGB颜色。程序8-5WHATCLRWHATCLR.C/*--------------------------------------------------------------------------WHATCLR.C--DisplaysColorUnderCursor(c)CharlesPetzold,1998---------------------------------------------------------------------------*/#include<windows.h>#defineID_TIMER1voidFindWindowSize(int*,int*);LRESULTCALLBACKWndProc(HWND,UINT,WPARAM,LPARAM);intWINAPIWinMain(HINSTANCEhInstance,HINSTANCEhPrevInstance,PSTRszCmdLine,intiCmdShow){staticTCHARszAppName[]=TEXT("WhatClr");HWNDhwnd;intcxWindow,cyWindow;MSGmsg;WNDCLASSwndclass;wndclass.style=CS_HREDRAW|CS_VREDRAW;wndclass.lpfnWndProc=WndProc;wndclass.cbClsExtra=0;wndclass.cbWndExtra=0;wndclass.hInstance=hInstance;wndclass.hIcon=LoadIcon(NULL,IDI_APPLICATION);wndclass.hCursor=LoadCursor(NULL,IDC_ARROW);wndclass.hbrBackground=(HBRUSH)GetStockObject(WHITE_BRUSH);wndclass.lpszMenuName=NULL;wndclass.lpszClassName=szAppName;if(!RegisterClass(&wndclass)){MessageBox(NULL,TEXT("ThisprogramrequiresWindowsNT!"),szAppName,MB_ICONERROR);return0;}FindWindowSize(&cxWindow,&cyWindow);hwnd=CreateWindow(szAppName,TEXT("WhatColor"),WS_OVERLAPPED|WS_CAPTION|WS_SYSMENU|WS_BORDER,CW_USEDEFAULT,CW_USEDEFAULT,cxWindow,cyWindow,NULL,NULL,hInstance,NULL);ShowWindow(hwnd,iCmdShow);UpdateWindow(hwnd);while(GetMessage(&msg,NULL,0,0)){TranslateMessage(&msg);DispatchMessage(&msg);}returnmsg.wParam;}voidFindWindowSize(int*pcxWindow,int*pcyWindow){HDChdcScreen;TEXTMETRICtm;hdcScreen=CreateIC(TEXT("DISPLAY"),NULL,NULL,NULL);GetTextMetrics(hdcScreen,&tm);DeleteDC(hdcScreen);*pcxWindow=2*GetSystemMetrics(SM_CXBORDER)+12*tm.tmAveCharWidth;*pcyWindow=2*GetSystemMetrics(SM_CYBORDER)+GetSystemMetrics(SM_CYCAPTION)+2*tm.tmHeight;}LRESULTCALLBACKWndProc(HWNDhwnd,UINTmessage,WPARAMwParam,LPARAMlParam){staticCOLORREFcr,crLast;st