从CDateTimeCtrl派生一自定义控件。处理 WM_ERASEBKGROUNDBOOL CMyDateTimeCtrl::OnEraseBkgnd(CDC* pDC)
{
HBRUSH hBrushBkgnd = (HBRUSH) ::SendMessage(GetParent()->GetSafeHwnd(),
WM_CTLCOLOREDIT, WPARAM(pDC->GetSafeHdc()), LPARAM(m_hWnd)); CRect rectClient;
GetClientRect(rectClient); pDC->FillRect(rectClient, CBrush::FromHandle(hBrushBkgnd)); return TRUE;
}这样对话框中的OnCtrlCtrl就起作用了:HBRUSH CParentDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
static CBrush br(RGB(255, 0, 0)); UINT nID = pWnd->GetDlgCtrlID();
if(nID == IDC_DATETIMEPICKER1)
{
return br;
} HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
return hbr;
}
{
HBRUSH hBrushBkgnd = (HBRUSH) ::SendMessage(GetParent()->GetSafeHwnd(),
WM_CTLCOLOREDIT, WPARAM(pDC->GetSafeHdc()), LPARAM(m_hWnd)); CRect rectClient;
GetClientRect(rectClient); pDC->FillRect(rectClient, CBrush::FromHandle(hBrushBkgnd)); return TRUE;
}这样对话框中的OnCtrlCtrl就起作用了:HBRUSH CParentDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
static CBrush br(RGB(255, 0, 0)); UINT nID = pWnd->GetDlgCtrlID();
if(nID == IDC_DATETIMEPICKER1)
{
return br;
} HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
return hbr;
}
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货