我派生了一个CStatic类,在CDialog中使用正常。能改变颜色,但在formview中却不行,我该怎么办?OnSetCursor()也不能用。
解决方案 »
- OnCustomDraw函数是在OnPaint函数之后还是之前被调用的啊?
- unicode字符集只能表示65536个编码,为何说全世界都够用呢?中国的字符就几万个呀?
- 一个按钮,一个EDIT实现效果:按的按钮一直在Edit中显示aaaa放开按钮停止
- 关于创建一个文本文件的问题!
- 如何知道当前激活文档是哪一个,和,如何激活指定的文档窗口??
- 我动态创建的控件,要在创建后修改属性,用了ModifyStyle(ES_MULTILINE,0)或ES_RIGHT 怎么没起作用啊发?
- 请教高手!
- help:画一个点的CDC member function is ....?
- 有谁是不光要写程序,而且办公室还要同事们一起来打扫的?
- 一个有关UPDATE_COMMOND_UI的简单问题,求各位大侠帮帮小妹。急!!
- 提个问,我是搞不定了,请高手看看:在Explorer中加入自己的一个图标.......
- 我用CRichEditCtrl类生成了一个编辑框,但试了很多方法都没有改变字体颜色,请大家给个方法
HBRUSH CAsdfasdfView::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
HBRUSH hbr = CFormView::OnCtlColor(pDC, pWnd, nCtlColor);
// TODO: Change any attributes of the DC here
if (pWnd->GetDlgCtrlID() == IDC_MYSTATIC)
{
// Set the text color to red
pDC->SetTextColor(RGB(55, 55, 0)); // Set the background mode for text to transparent
// so background will show thru.
pDC->SetBkMode(TRANSPARENT); // Return handle to our CBrush object
hbr = CreateSolidBrush(RGB(255,0,0));
}
return hbr;
}
{switch (nCtlColor)
{ case CTLCOLOR_BTN:
case CTLCOLOR_STATIC:
{ pDC->SetBkMode(TRANSPARENT);
//不加任何处理或设置背景为透明}
case CTLCOLOR_DLG:
{ CBrush* back_brush;
COLORREF color;
color = (COLORREF) GetSysColor(COLOR_BTNFACE);
back_brush = new CBrush(color);
return (HBRUSH) (back_brush->m_hObject);}} return(CFormView::OnCtlColor(pDC, pWnd, nCtlColor));}