社区
界面
帖子详情
MFC中如何为菜单添加背景图片
lovetow
2009-11-10 05:40:45
创建了一个对话框工程,用下面代码将创建的IDR_MENU_LANM菜单加载到了对话框上,
CMenu *pMenu = new CMenu;
BOOL ret = pMenu->LoadMenu(IDR_MENU_LANM);
SetMenu(pMenu);
请问各位大侠,我如何才能给IDR_MENU_LANM添加背景图片?
...全文
1357
13
打赏
收藏
MFC中如何为菜单添加背景图片
创建了一个对话框工程,用下面代码将创建的IDR_MENU_LANM菜单加载到了对话框上, CMenu *pMenu = new CMenu; BOOL ret = pMenu->LoadMenu(IDR_MENU_LANM); SetMenu(pMenu); 请问各位大侠,我如何才能给IDR_MENU_LANM添加背景图片?
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
13 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
wfx_net
2009-11-18
打赏
举报
回复
找找CMenuXP
lovetow
2009-11-16
打赏
举报
回复
[Quote=引用 3 楼 shinefen 的回复:]
自己重载CMENU看看 cmymenu
,然后重载里面的onpaint(),在里面贴图...
我没试过..呵呵
[/Quote]
CMENU类貌似不支持消息循环机制,这个方法不行啊!
lovetow
2009-11-16
打赏
举报
回复
[Quote=引用 4 楼 bwmwm 的回复:]
http://blog.csdn.net/bwmwm/archive/2006/10/29/1355035.aspx
试试看
[/Quote]
我按帖子上说的做了后,用新类实例化了对象后,编译通过。但运行后没有效果。
CBmpMenu *pMenu = new CBmpMenu;
BOOL ret = pMenu->LoadMenu(IDR_MENU_LANM);
SetMenu(pMenu);
不知道该怎么调用
//pMenu->MeasureItem(lpMeasureItemStruct);
//pMenu->DrawItem(lpDIS);
wenkefeng
2009-11-16
打赏
举报
回复
添加视图类消息 WM_ERASEBKGND
BOOL CHERMESView::OnEraseBkgnd(CDC* pDC)
{
// TODO: Add your message handler code here and/or call default
//加背景图
CBitmap m_bitmap;
m_bitmap.LoadBitmap(IDB_BITMAP_BKGROUND);
CRect rc;
GetClientRect(rc);
CDC dcImage;
dcImage.CreateCompatibleDC(pDC);
CBitmap *pOldBitmap=dcImage.SelectObject(&m_bitmap);
BITMAP bm;
m_bitmap.GetBitmap( &bm );
// Use the minimum width and height
int width = min(bm.bmWidth, rc.Width());
int height = min(bm.bmHeight, rc.Height());
// Draw the bitmap as the window background
pDC->BitBlt(rc.Width()-width,0,width,height, &dcImage, 0, 0, SRCCOPY);
// Release
dcImage.SelectObject(pOldBitmap);
dcImage.DeleteDC();
return true;
// return CView::OnEraseBkgnd(pDC);
}
xmzzy
2009-11-16
打赏
举报
回复
据说这个比较复杂,菜单和滚动条是自绘中比较难的两样
lovetow
2009-11-16
打赏
举报
回复
[Quote=引用 9 楼 wwgddx 的回复:]
MENUBARINFO mbi;
mbi.cbSize = sizeof(MENUBARINFO);
::GetMenuBarInfo(m_hWnd, OBJID_MENU, n, &mbi); //n表示第一个菜单,
CRect rcMenuBar(mbi.rcBar);
得到了信息就自己画吧
[/Quote]
“MENUBARINFO” : 未声明的标识符
应该包含哪个文件!?
wwgddx
2009-11-16
打赏
举报
回复
MENUBARINFO mbi;
mbi.cbSize = sizeof(MENUBARINFO);
::GetMenuBarInfo(m_hWnd, OBJID_MENU, n, &mbi); //n表示第一个菜单,
CRect rcMenuBar(mbi.rcBar);
得到了信息就自己画吧
paerxiushi
2009-11-15
打赏
举报
回复
http://topic.csdn.net/u/20090922/12/c21fbc08-1417-4227-9a83-7e2565d45c64.html
饽饽
2009-11-13
打赏
举报
回复
好像是重载按钮类
阜哥
2009-11-13
打赏
举报
回复
http://blog.csdn.net/bwmwm/archive/2006/10/29/1355035.aspx
试试看
shinefen
2009-11-10
打赏
举报
回复
自己重载CMENU看看 cmymenu
,然后重载里面的onpaint(),在里面贴图...
我没试过..呵呵
lovetow
2009-11-10
打赏
举报
回复
我找了一下,大多是给下拉菜单贴图的,没有给菜单栏贴图片的.
老吴笔记
2009-11-10
打赏
举报
回复
重载按钮类.网上找一下,N多
MFC
自定义
菜单
栏背景颜色,位置,宽度,高度,选
中
高亮
本文将深入探讨如何实现
MFC
菜单
栏的背景颜色、位置、宽度、高度以及选
中
高亮的自定义设置。 首先,我们要理解
MFC
中
的
菜单
系统。在
MFC
中
,
菜单
通常通过`CMenu`类来操作,而
菜单
栏则由`CFrameWnd`或其派生类(如`...
MFC
基于对话框
添加
背景图片
在这个函数
中
,我们将加载并设置
背景图片
。这通常通过获取对话框的窗口句柄(HWND),然后用SetWindowLong函数修改对话框的WS_EX_LAYERED样式,最后调用UpdateLayeredWindow函数来显示
背景图片
。 ```cpp void ...
MFC
菜单
重写可实现自定义
菜单
尽管提供的压缩包文件列表
中
仅包含“QTOOLS”,没有具体的文件内容,我们可以假设这可能是一个辅助工具集,用于帮助开发人员更方便地进行
MFC
菜单
的重写。QTOOLS可能包含了一些实用函数、宏或类,用于简化上述步骤
中
...
MFC
中
如何创建图标
菜单
5. **关联
菜单
**:在`OnInitDialog`或`OnCreate`等适当的函数
中
,将创建的
菜单
添加
到窗口。例如,对于主窗口
菜单
: ```cpp SetMenu(&menu); ``` 6. **处理
菜单
消息**:在`ON_COMMAND`或`ON_UPDATE_COMMAND_UI`...
MFC
重绘标题栏、
菜单
栏并更改状态栏背景色
在Windows应用程序开发
中
,Microsoft Foundation Class (
MFC
)库是一个非常重要的工具,它为开发者提供了构建桌面应用程序的框架。在
MFC
中
,我们有时需要自定义窗口的外观,包括标题栏、
菜单
栏和状态栏,以实现独特的...
界面
15,980
社区成员
115,867
社区内容
发帖
与我相关
我的任务
界面
VC/MFC 界面
复制链接
扫一扫
分享
社区描述
VC/MFC 界面
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章