高手看看,运行后菜单栏是黑的。LRESULT CMainFrame::DefWindowProc(UINT message, WPARAM wParam, LPARAM lParam)
{
// TODO: Add your specialized code here and/or call the base class
LRESULT lrst=CFrameWnd::DefWindowProc (message,wParam,lParam);
if(!::IsWindow (m_hWnd))
return lrst;
if(message==WM_NCPAINT||message==WM_NCACTIVATE||message==WM_NOTIFY)
{
CDC *pWinDC=GetWindowDC();
if(pWinDC)
Drawit(pWinDC); //重绘的那个函数
ReleaseDC(pWinDC);
}
return lrst;
}
CBrush brushmenu;
brushmenu.CreateSolidBrush (RGB(245,145,45));
MENUINFO mi;
mi.cbSize=sizeof(MENUINFO);//
mi.fMask= MIM_BACKGROUND|MIM_STYLE;
mi.dwStyle =MNS_CHECKORBMP;
mi.hbrBack = // (HBRUSH)GetStockObject(BLACK_BRUSH);
(HBRUSH__*)brushmenu.GetSafeHandle ();
HMENU hMenu=
(AfxGetMainWnd()->GetMenu())->GetSafeHmenu ();
SetMenuInfo(hMenu, &mi);是不是还要截获windows自动重绘菜单的message?
{
// TODO: Add your specialized code here and/or call the base class
LRESULT lrst=CFrameWnd::DefWindowProc (message,wParam,lParam);
if(!::IsWindow (m_hWnd))
return lrst;
if(message==WM_NCPAINT||message==WM_NCACTIVATE||message==WM_NOTIFY)
{
CDC *pWinDC=GetWindowDC();
if(pWinDC)
Drawit(pWinDC); //重绘的那个函数
ReleaseDC(pWinDC);
}
return lrst;
}
CBrush brushmenu;
brushmenu.CreateSolidBrush (RGB(245,145,45));
MENUINFO mi;
mi.cbSize=sizeof(MENUINFO);//
mi.fMask= MIM_BACKGROUND|MIM_STYLE;
mi.dwStyle =MNS_CHECKORBMP;
mi.hbrBack = // (HBRUSH)GetStockObject(BLACK_BRUSH);
(HBRUSH__*)brushmenu.GetSafeHandle ();
HMENU hMenu=
(AfxGetMainWnd()->GetMenu())->GetSafeHmenu ();
SetMenuInfo(hMenu, &mi);是不是还要截获windows自动重绘菜单的message?
解决方案 »
- MFC CWinApp::InitInstance()一个弱弱的问题?
- 窗口左上角图标的 两个操作问题
- 请问谁有读取,修改,保存BMP图片的源码啊,发给我一份
- 从CWnd派生的窗口不响应双击消息,是为什么呢?
- 用vc写的程序生成的exe文件只有在装有vc的机子上才能运行?
- 关于窗口的classname?
- 本地com就regsvr32,简单注册就可以调用了,而dcom在服务端要regser32 xx.dll /regserver ,是不是一定要这样的啊?那如何调用远程的com+
- 请问哪里有COM的电子讲义下载
- 如何将消息发给动态创建的窗口,如何接受和响应动态创建的窗口发出的消息?
- <<深入浅出2>>书中的问题2?????
- afxbeginthread 怎么安全结束
- 窗口层叠问题?
MENUINFO mi;
mi.cbSize=sizeof(MENUINFO);//
mi.fMask= MIM_BACKGROUND;
mi.dwStyle =MNS_CHECKORBMP;
mi.hbrBack = hBrush ;
HMENU hMenu = GetMenu()->GetSafeHmenu();
SetMenuInfo(hMenu, &mi);