这一节我们使用计时器,每隔一秒获取当前鼠标坐标位置的像素值,并显示在窗口,这就相当于是一个简单的取色器了。
本节必须掌握的知识点:
第47练:取色器
7.4.1 第47练:取色器
/*------------------------------------------------------------------
047 WIN32 API 每日一练
第47个例子WHATCLR.C:使用计时器---显示了鼠标指针当前所指的热点的RGB颜色
FindWindowSize 函数---设置窗口宽和高
CreateIC函数
GetPixel函数
SetPixel函数
GetRValue宏
(c) www.bcdaren.com, 2020
----------------------------------------------------------------*/
#include <windows.h>
#define ID_TIMER 1
void FindWindowSize (int *, int *) ;
LRESULT CALLBACK WndProc (HWND, UINT, WPARAM, LPARAM) ;
int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance,
PSTR szCmdLine, int iCmdShow)
{
static TCHAR szAppName[] = TEXT ("WhatClr") ;
…(略)
//获取窗口宽和高
FindWindowSize (&cxWindow, &cyWindow) ;
hwnd = CreateWindow (szAppName, TEXT ("What Color"), //创建窗口
//重叠、标题、菜单、细框
WS_OVERLAPPED | WS_CAPTION | WS_SYSMENU | WS_BORDER,
CW_USEDEFAULT, CW_USEDEFAULT,
cxWindow, cyWindow,
NULL, NULL, hInstance, NULL) ;
ShowWindow