郁闷了几天的问题~求助!!

lideshun2000 2005-08-13 03:17:49
主要代码如下:

在MainFrame 中:

CDialogBar m_wndLeftDialogBar;
if (!m_wndLeftDialogBar.Create(this, CG_IDD_LEFTDIALOGBAR,
CBRS_LEFT | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_HIDE_INPLACE,
CG_ID_VIEW_LEFTDIALOGBAR))
{
TRACE0("Failed to create dialog bar m_wndLeftDialogBar\n");
return -1; // fail to create
}
在 m_wndLeftDialogBar所在的cpp 代码中我定义了
HBRUSH CMyDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);

// TODO: Change any attributes of the DC here
return m_brush;
// TODO: Return a different brush if the default is not desired
//return hbr;
}

问题是MainFrame不响应这个函数 我设置了断点~这个函数根本就没有用到~这样我改变不了这个CDialogBar 的颜色 请问应该怎么样才能让MainFrame 响应这个函数
...全文
95 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
lixiaosan 2005-08-13
  • 打赏
  • 举报
回复
你可以派生static,edit或者button,在派生类里改变caption得颜色..

在派生类里改变控件颜色相信你会..不会得话网上也有很多现成的派生类

http://www.codeguru.com/Cpp/controls/staticctrl/article.php/c2927/

如此就和在对话框中一样的处理了
lixiaosan 2005-08-13
  • 打赏
  • 举报
回复
http://dev.csdn.net/develop/article/49/article/48/48052.shtm
lideshun2000 2005-08-13
  • 打赏
  • 举报
回复
是正确的~我主要是想把里面的文字的颜色改变~我不要改变背景!还有~应该怎么样派生??
能指点一二吗
lixiaosan 2005-08-13
  • 打赏
  • 举报
回复
派生一个dialogbar

BOOL CMyDialogBar::OnEraseBkgnd(CDC* pDC)
{
CBrush brush(RGB(255,0,0));
CRect rectClient;
GetClientRect(rectClient);

pDC->FillRect(rectClient, &brush);

return TRUE;
}
lixiaosan 2005-08-13
  • 打赏
  • 举报
回复
不知道你的dialogbar是否派生正确

HBRUSH CMyDialogBar::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
HBRUSH hbr = CDialogBar::OnCtlColor(pDC, pWnd, nCtlColor);
。。。。。
}

15,978

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧