自己从CDialogBar继承了一个类,
class CWMDialogBar : public CDialogBar1。要怎样才能在CWMDialogBar中自己处理对话框中控件的消息呢?
2。还有一个问题是,怎样才能改变该DialogBar关联的对话框的背景色呢?
我的代码如下
void CWMDialogBar::OnPaint()
{
CPaintDC dc(this); // device context for painting
// TODO: Add your message handler code here
dc.SetBkColor(RGB(255,0,0));
// Do not call CDialogBar::OnPaint() for painting messages
}
但是却没有效果。谢谢了
class CWMDialogBar : public CDialogBar1。要怎样才能在CWMDialogBar中自己处理对话框中控件的消息呢?
2。还有一个问题是,怎样才能改变该DialogBar关联的对话框的背景色呢?
我的代码如下
void CWMDialogBar::OnPaint()
{
CPaintDC dc(this); // device context for painting
// TODO: Add your message handler code here
dc.SetBkColor(RGB(255,0,0));
// Do not call CDialogBar::OnPaint() for painting messages
}
但是却没有效果。谢谢了
解决方案 »
- 网上下载的代码//都会有下面这几行,去掉可以吗?
- vs2010的发现的部分问题,求解决方案
- 哎!分没了!又要换马甲!做菜鸟真累人!!提问都得马甲来回使
- 一个想不明白的地方
- 这个问题怎么解决?
- 这段代码哪个地方会出现内存泄漏呢?
- 先不学COM,是不是可以把《VC技术内幕》第四版中的“第四部分”全部跳过。请指教谢了!
- 我想在我的对话筐中放一个打印按钮,然后点一下,先出来预览,该怎么做
- 屏蔽CTRL+ALT+DEL的程序已经发出,部分发送失败的今后再发!没发出的在下面的贴子有!
- MFC,CBitmapButton定义的按钮,鼠标划过,改变图片
- 请教关于双缓冲位图与坐标映射的问题
- 菜菜问题:请问如何在程序上面添加一幅图?
2.不能这样吧,,,是不是得由对话框改变吧
不知道您说的sendmessage,是写在哪里
我就是希望减少CWMDialogBar 和其他类(如CFrameWnd,CView)之间的耦合性,
所有的消息都在CWMDialogBar 里面处理。不知道有没有什么好办法谢谢了
而是放dialog的The CDialogBar class provides the functionality of a Windows modeless dialog box in a control bar. A dialog bar resembles a dialog box in that it contains standard Windows controls that the user can tab between. Another similarity is that you create a dialog template to represent the dialog bar.
int FillRect(
HDC hDC, // handle to DC
CONST RECT *lprc, // rectangle
HBRUSH hbr // handle to brush
);
特别谢谢jinxing1(金星)
背景色的问题已经解决了现在就剩消息处理的问题了,因为在程序中要用的多个dialogbar,所以如果全都在主框架中处理,会很乱。
我还是希望能在自己的CWMDialogBar 类中自己处理。
不知道有没有什么好办法
为啥后者能处理前者的消息?(什么消息,控件发出的?还是给控件的?)
在BOOL CMainFrame::OnCmdMsg(UINT nID, int nCode, void* pExtra, AFX_CMDHANDLERINFO* pHandlerInfo)
{
// TODO: Add your specialized code here and/or call the base class
if (m_wndColor.OnCmdMsg(nID,nCode,pExtra,pHandlerInfo))
return TRUE;
return CFrameWnd::OnCmdMsg(nID, nCode, pExtra, pHandlerInfo);
}m_wndColor为CWMDialogBar的对象`~~~这样就可以了`~~一般的事件都可以写在自己的的CWMDialogBar里`~