我想改变Dialog里的控件底色,但老不行,结果只是蒋子符背景改了,而控件底色未变,code如显示HBRUSH CModifyDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
// TODO: この位置で DC のアトリビュートを変更してください
if (pWnd->GetDlgCtrlID() == IDC_TIME_STATIC)
{
pDC->SetTextColor(RGB(255, 0, 0));
pDC->SetBkColor(RGB(0,255,0));
}
if (pWnd->GetDlgCtrlID() == IDC_RETURN_BUTTON)
{
pDC->SetTextColor(RGB(255, 0, 0));
pDC->SetBkColor(RGB(0,255,0));
}
// TODO: デフォルトのブラシが望みのものでない場合には、違うブラシを返してください
return hbr;
}
问题会是在哪呢?
{
HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
// TODO: この位置で DC のアトリビュートを変更してください
if (pWnd->GetDlgCtrlID() == IDC_TIME_STATIC)
{
pDC->SetTextColor(RGB(255, 0, 0));
pDC->SetBkColor(RGB(0,255,0));
}
if (pWnd->GetDlgCtrlID() == IDC_RETURN_BUTTON)
{
pDC->SetTextColor(RGB(255, 0, 0));
pDC->SetBkColor(RGB(0,255,0));
}
// TODO: デフォルトのブラシが望みのものでない場合には、違うブラシを返してください
return hbr;
}
问题会是在哪呢?
解决方案 »
- 请教高手
- 系统头文件的错误winnt.h
- 为何我的这段代码用fillRect()填充的背景色不能正确显示??
- 送分了~~~回答就有分送~~~~
- 简单问题:请问局域网内如何启动在另一台机器的EXE程序,要求它仍运行在那台机器上。
- 关于后台服务程序界面的问题
- C/C++ UDP socket bind出错了,运行到bind()处就退出了,请问高手,如何修改下面的程序,才能正常运行?
- 各位大虾,过年好!
- 如何读取 CMOS 数据 and show to screen ?c /language
- 怎么设置CTIME变量的时分秒为0啊?
- 怎么动态改变CEdit控件背景(创建时已可以了)
- 求一个算法:返回一个数,使这个数满足比给定的数大,且只有一个位上的数非零
你应该返回:HBRUSH C = CreateSolidBrush(RGB(255, 0, 0));
return (HBRUSH) C;
HBRUSH m_hBrush=CreateSolidBrush(RGB(0,0,0)); //用所需的背景色定义画刷
用建立类向导为对话框添加OnCtlColor函数:
HBRUSH CListBkChangeDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{ if(pWnd->GetDlgCtrlID() == IDC_TIME_STATIC)
{
pDC->SetTextColor(RGB(255, 0, 0));
pDC->SetBkColor(RGB(0,255,0));
return m_hBrush;
}
else
return CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
}
也可用
//窗口背景
static CBrush s_brush(m_clrBackGround);
return s_brush;