怎样给对话框上的控件设置颜色 怎样给对话框上的控件设置颜色,如我添加了一个图像框控件(IDC_STC_RECT),属性设为Rectangle,属性框中只能设四种颜色,我怎么在程序中设成其它? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 1。重载OnCtlColor2。CDC画3。继承4。用他方方法,比如Button的,可以用CButtonST OnCtlColor同意 stevecrisewu(月亮骑士) 同意月亮骑士的方法onCtlColor 重载WM_CTLCOLOR一下是我得一段代码:HBRUSH CDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) { COLORREF clr; switch(nCtlColor) { case CTLCOLOR_STATIC: clr = RGB(255,201,255); pDC->SetBkColor(clr); //设置粉色的背景 m_brMine = ::CreateSolidBrush(clr); return m_brMine; //返回对应的刷子句柄 case CTLCOLOR_DLG: m_brMine = ::CreateSolidBrush(RGB(255,201,255)); return m_brMine; //返回背景色对应的刷子句柄 case CTLCOLOR_EDIT: clr = RGB(160,0,0); pDC->SetTextColor(clr); //设置黑色的文本 clr = RGB(166,210,210); pDC->SetBkColor(clr); //设置淡蓝色的背景 m_brMine = ::CreateSolidBrush(clr); return m_brMine; //返回对应的刷子句柄 default: HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor); return hbr; }}多看看MSDN 但我想给一个具体的控件上色,比如IDC_STC_MYSTATIC,而不是一类控件CTLCOLOR_STATIC,怎么实现? HBRUSH CMultiDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) { HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor); // TODO: Change any attributes of the DC here switch(nCtlColor) { case CTLCOLOR_STATIC: if( pWnd->GetSafeHwnd() == GetDlgItem(IDC_TIP)->GetSafeHwnd() ) { static HBRUSH hbrEdit = ::CreateSolidBrush( RGB(125, 255, 0) ); pDC->SetBkColor( RGB(255, 0, 0) ); pDC->SetTextColor( RGB(255, 255, 0) ); return hbrEdit; } } // TODO: Return a different brush if the default is not desired return hbr;} 如何将CArray逆序 Xtreme Toolkit Pro v9.60 静态分割视图中,多个树视图如何确定各自的指针? 求 五子棋 禁手判断 汽车牌照号识别程序 16进制数的100多次方的算法,请高手指教 急!急 马上给分在线等待! 在VC里ActiveX的界面都是画出来的吗??? 急!在线等待! 如何在全屏幕DOS和WINDOWS间切换? 为什么文字显示不出来?? 怎样动态建立ODBC?
2。CDC画
3。继承
4。用他方方法,比如Button的,可以用CButtonST
同意 stevecrisewu(月亮骑士)
onCtlColor
一下是我得一段代码:
HBRUSH CDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
COLORREF clr;
switch(nCtlColor)
{
case CTLCOLOR_STATIC:
clr = RGB(255,201,255);
pDC->SetBkColor(clr); //设置粉色的背景
m_brMine = ::CreateSolidBrush(clr);
return m_brMine; //返回对应的刷子句柄 case CTLCOLOR_DLG:
m_brMine = ::CreateSolidBrush(RGB(255,201,255));
return m_brMine; //返回背景色对应的刷子句柄 case CTLCOLOR_EDIT:
clr = RGB(160,0,0);
pDC->SetTextColor(clr); //设置黑色的文本 clr = RGB(166,210,210);
pDC->SetBkColor(clr); //设置淡蓝色的背景
m_brMine = ::CreateSolidBrush(clr);
return m_brMine; //返回对应的刷子句柄 default:
HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
return hbr;
}
}
多看看MSDN
{
HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
// TODO: Change any attributes of the DC here
switch(nCtlColor)
{
case CTLCOLOR_STATIC:
if( pWnd->GetSafeHwnd() == GetDlgItem(IDC_TIP)->GetSafeHwnd() )
{
static HBRUSH hbrEdit = ::CreateSolidBrush( RGB(125, 255, 0) );
pDC->SetBkColor( RGB(255, 0, 0) );
pDC->SetTextColor( RGB(255, 255, 0) );
return hbrEdit;
}
}
// TODO: Return a different brush if the default is not desired
return hbr;
}