下面介紹三種方法:實現改變對話框的默認背景顏色:
(1)可以在CLotteryApp::InitInstance()設置更新對話框的背景顏色
調用SetDialogBkColor(RGB(160,32,240)) 即可以改變背景顏色
注意這里繪制的顏色是針對程序中所有的對話框
SetDialogBkColor(RGB(0,0,255),RGB(255,0,0));
前一個RGB是背景色,后一RGB是文本顏色
(2)也可以再CLotteryDlg::OnPaint() 函數里的 else 之后括號里插入如下代碼:
CRect rect;
CPaintDC dc(this);
GetClientRect(rect);
dc.FillSolidRect(rect,RGB(189,250,200)); 顏色可以自己隨便設置
(3) 利用ClassWizard重載OnCtlColor(),即WM_CTLCOLOR消息
在要着色的對話框中申明一個變量,CBRUSH m_hbrush;然后在項目的Dlg類初始化函數中給m_hbrush賦值。
m_brush.CreateSolidBrush(RGB(0, 255, 0));
然后在OnCtlColor(...)返回該畫刷就可以了,如下。
HBRUSH CLotteyDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
switch (nCtlColor)
{
case CTLCOLOR_DLG:
HBRUSH aBrush;
aBrush = CreateSolidBrush(RGB(0, 150, 0));
hbr = aBrush;
break;
}
return hbr;
}
再介紹一下:如何清空編輯框里的內容
清空指定的編輯框內容:SetDlgItemText(IDC_EDIT,""); //更新編輯框里的內容