重载 WM_CTRLTEDITCOLOR消息,
返回一个非NULL的HBRUSH句柄.
可参考"VISUAL C++技术内幕(第四版)".
返回一个非NULL的HBRUSH句柄.
可参考"VISUAL C++技术内幕(第四版)".
解决方案 »
- 怎么将如下结构的xml,用Cmarkup 解析到树控件中
- 如何在Wince的对话框中响应WM_NCLBUTTONDBLCLK消息
- 附件里一副640*256的YUV格式的数据,请各位大侠帮我还原成一张图片(VC++/MFC)
- 菜鸟弱问:如何选中RADIO
- 菜鸟的问题~~~~~~~~~~~
- #include<afxdao.h>奇怪的错误
- CImageList::Create中的nGrow参数是干吗的?
- 为什么我的splashwnd现实的是一片黑!简单问题,来拿分!
- 半夜来csdn看帖子,突然有几个问题想请教!
- 关于 COM Elevation Moniker
- 用SplitterWnd分割的窗口,能不能把分割条去掉或隐藏起来?
- volatile什么意思、用在什么场合?
我没找到WM_CTRLEDITCOLOR消息,根据"内幕(第五版)"重载了WM_CTLCOLOR消息,代码如下:
(我想把背景设为黑色,文字设为白色,但我不知该如何设置文字颜色)
HBRUSH CEditView::CtrColor(CDC* pDC, UINT nCtlColor)
{
HBRUSH brush;
brush.CreateSolidBrush(RGB(0, 0, 0));
pDC->SetBkColor(RGB(0, 0, 0));
return (HBRUSH)brush.GetSafeHandle();
}
上述代码在程序启动时并没有将整个edit区的背景设为黑色,只是往edit区中添加文字后才看得出黑色背景.请问这段代码有什么问题,该如何修改?hotsun,
不知你所说的消息反射的方法是什么方法, 例子在msdn中的什么地方.我是个刚学vc的菜鸟, 如果问题幼稚, 望各位大虾不要见笑.希望能得到大家的帮助.谢谢!
在自己从CEdit继承来的新类中,在class wizard中可以使用消息反射的消息前面有个"="
WM_CTRLEDITCOLOR消息是我说错了,真是不好意思。
你那样做是对的啊!
ginkgoboy(彝族舞曲) 说的也对。
HBRUSH CSockDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
//HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
if(nCtlColor==CTLCOLOR_LISTBOX)
{
pDC->SetBkMode (TRANSPARENT);
pDC->SetTextColor (RGB(255,255,0));
return m_hbrush;
}
else
return CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
// TODO: Return a different brush if the default is not desired
// return hbr;
}
HBRUSH CSockDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
//HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
if(nCtlColor==CTLCOLOR_LISTBOX)
{
pDC->SetBkMode (TRANSPARENT);
pDC->SetTextColor (RGB(255,255,0));
return m_hbrush;
}
else
return CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
// TODO: Return a different brush if the default is not desired
// return hbr;
}
哪位高手能费一点点时间新建一个以CEditView为View父类的工程,实际帮我做一下.我的要求并不高啊:仅仅是要程序启动时整个view区的背景是黑色而文字是白色而已!
向各位叩首了!另外, 笨笨的问:在csdn中我如何才能给分给回答我问题的人?昨天试了一下,分数似乎给出去了,但一看还是0分.