VCは画面上の任意の点位置の色を取得する


この文章は実は多くの人の作品を参考にして、ここで一つ一つ感謝しました.
次の内容が含まれます.
(1)動的設定コントロールの色
(2)マウス位置の取得
(3)CButtonST
プログラムのインタフェースの効果は下図のようです:
ソースコードエンジニアリングのダウンロード、分割しないでください:http://download.csdn.net/detail/luofl1992/4478349
画面上の任意のポイント位置の色を簡単に取得できます.RGB表示.ウィンドウを最下化した場合の読み取り色など、追加の必要があれば、自分でコードを書き換えることができます.
キーは、タイマーを設定し、タイマー関数で次のように設定します.
void CGetScreenPixelDlg::OnTimer(UINT_PTR nIDEvent)
{
	// TODO:              /      
//	DWORD   dwPos = GetMessagePos(); 
//	CPoint point( LOWORD(dwPos),   HIWORD(dwPos) );
//	HWND hwnd=::GetForegroundWindow();
	CPoint   point; 
	GetCursorPos(&point);
	HDC hDC = ::GetDC(NULL);  

	//             
	COLORREF color = ::GetPixel(hDC, point.x, point.y);	
	//               (     )
	m_colorState.SetBkColor(color);
	//                 
	posx = point.x;
	posy = point.y;
	red = GetRValue(color);
	green = GetGValue(color);
	blue = GetBValue(color);
	UpdateData(FALSE);		//          
	CDialogEx::OnTimer(nIDEvent);
}