屏幕颜色拾取器 (VC++)
首先:建立基于對話框的工程,添加好控件;
?
然后:為對話框添加OnTimer()的事件處理,如下所示:
?
?
?
在其中添加如下代碼:
?
?
?
對于“拾取”按鈕
?
?
?
對于“停止”按鈕
?
?
?
更詳細的代碼請在http://download.csdn.net/source/1849794?查看。
————————————————
版權聲明:本文為CSDN博主「無幻」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/akof1314/article/details/4880546
?
void CGetRGBDlg::OnTimer(UINT_PTR nIDEvent)
{
// TODO: 在此添加消息處理程序代碼和/或調用默認值
if (nIDEvent != 1)
? ? ? ? return;
? ??
? ? CPoint pt;
? ? GetCursorPos(&pt);? ? ?//獲得光標位置
? ? HDC hDC = ::GetDC(NULL);? ? //獲取屏幕DC
? ? COLORREF clr = ::GetPixel(hDC, pt.x, pt.y);
? ??
CString ClrText;
? ? ClrText.Format(_T("%d"),GetRValue(clr));? //分解出紅色值
red=GetRValue(clr);
SetDlgItemText(IDC_RED,ClrText);
ClrText.Format(_T("%d"),GetGValue(clr));? ?//分解出綠色值
green=GetGValue(clr);
SetDlgItemText(IDC_GREEN,ClrText);
ClrText.Format(_T("%d"),GetBValue(clr));? //分解出藍色值
blue=GetBValue(clr);
SetDlgItemText(IDC_BLUE,ClrText);
? ? OnPaint();
? ? ::ReleaseDC(NULL, hDC);? ? //釋放屏幕DC
CDialog::OnTimer(nIDEvent);
}
總結
以上是生活随笔為你收集整理的屏幕颜色拾取器 (VC++)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Android 圆形颜色拾取器代码,an
- 下一篇: 剑指offer——二进制中1的个数(c+