16,472
社区成员
发帖
与我相关
我的任务
分享
void CDlg6Dlg::OnTimer(UINT nIDEvent)
{
// TODO: Add your message handler code here and/or call default
if(nIDEvent == 1)
{
POINT ptCurs = {-1,-1};
COLORREF cf = (COLORREF)(-1);
//获取屏幕上的点的颜色
HDC hScreenDC = ::GetDC(NULL);
if(hScreenDC)
{
if(GetCursorPos(&ptCurs))
{
cf = GetPixel(hScreenDC, ptCurs.x, ptCurs.y);
}
::ReleaseDC(NULL, hScreenDC);
}
CWnd *pCtrl = GetDlgItem(IDC_STATIC1);
if(pCtrl)
{
CRect rcRect;
pCtrl->GetClientRect(&rcRect);
CDC *pDstDC = pCtrl->GetDC();
pDstDC->FillSolidRect(&rcRect, 0); //填充黑色
rcRect.DeflateRect(3,3);
pDstDC->FillSolidRect(&rcRect, RGB(255, 255, 255)); //填充白色
rcRect.DeflateRect(3,3);
pDstDC->FillSolidRect(&rcRect, cf); //填充获取的颜色
pCtrl->ReleaseDC(pDstDC);
}
}
CDialog::OnTimer(nIDEvent);
}