如何去除SDI程序中Commandbar上的"新建"按钮
来源:互联网 发布:coredraw相关软件 编辑:程序博客网 时间:2024/04/29 14:49
谢谢梦书之家(Windows Mobile)这篇文章
如何去除SDI程序中Commandbar上的"新建"按钮
今天,在论坛上,看到有人问到这个问题,我把我的方法说下,如果你有更好的方法,欢迎交流:
1、对于EVC4的话,
在int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)函数里将一下语句:m_wndCommandBar.m_bShowSharedNewButton = TRUE;
修改为:
int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)
2、VS2005的话
手工编辑.RC2文件(假设你的工程名为MyApp),即编辑MyApp.rc2(位于MyApp/Res下),
其默认的内容为:
IDR_MAINFRAME SHMENUBAR DISCARDABLE
BEGIN
IDR_MAINFRAME,
2,
I_IMAGENONE, ID_FILE_NEW, TBSTATE_ENABLED, TBSTYLE_BUTTON | TBSTYLE_AUTOSIZE,
IDS_NEW, 0, NOMENU, ----- 这个就是"新建"按钮
I_IMAGENONE, IDM_MENU, TBSTATE_ENABLED, TBSTYLE_DROPDOWN | TBSTYLE_AUTOSIZE, --- 这个是"菜单"
IDS_MENU, 0, 0,
END
如果你只想把新建按钮去掉的话:示例工程1
可以改成这样:
IDR_MAINFRAME SHMENUBAR DISCARDABLE
BEGIN
IDR_MAINFRAME,
1,
I_IMAGENONE, IDM_MENU, TBSTATE_ENABLED, TBSTYLE_DROPDOWN | TBSTYLE_AUTOSIZE, --- 这个是"菜单"
IDS_MENU, 0, 0,
END
如果想替换成其他的按钮-- 顶级菜单 ,如"测试" 资源编辑器里的 string Table里为: IDS_TEST
当然,还需要自己在资源编辑器里加菜单:示例工程2
(当然,你需要对其按钮添加事件/消息处理函数)
注:如果装了VS 2005 SP1的话,只要把.rc2文件里的内容IDR_MAINFRAME段清空,然后自己增加相应的菜单资源即可。下同。
IDR_MAINFRAME SHMENUBAR DISCARDABLE
BEGIN
IDR_MAINFRAME,
2,
I_IMAGENONE, IDM_MENU, TBSTATE_ENABLED, TBSTYLE_BUTTON | TBSTYLE_AUTOSIZE,
IDS_TEST, 0, NOMENU,
I_IMAGENONE, IDM_MENU, TBSTATE_ENABLED, TBSTYLE_DROPDOWN | TBSTYLE_AUTOSIZE,
IDS_MENU, 0, 1, //这个一样,可以修改成自己喜欢的菜单
END
如果两个左右软键菜单都不是顶级菜单,可以修改如下:示例工程3
IDR_MAINFRAME SHMENUBAR DISCARDABLE
BEGIN
IDR_MAINFRAME,
2,
I_IMAGENONE, IDM_MENU, TBSTATE_ENABLED, TBSTYLE_DROPDOWN | TBSTYLE_AUTOSIZE,
IDS_TEST, 0, 0,
I_IMAGENONE, IDM_MENU, TBSTATE_ENABLED, TBSTYLE_DROPDOWN | TBSTYLE_AUTOSIZE,
IDS_MENU, 0, 1, //这个一样,可以修改成自己喜欢的菜单
END
以上,主要是针对只有两个菜单的,但是MS建议的界面设计,Windows Mobile 5.0的就是建议使用两个菜单,左边是常用的功能。
不过可以通过以下的方式来修改软键菜单上的文本:
2BtnInfo.cbSize = sizeof(TBBUTTONINFO);
3BtnInfo.dwMask = TBIF_TEXT;
4BtnInfo.pszText = szText;//要替换的文本
5SendMessage(
6 g_hWndMenuBar,
TB_SETBUTTONINFO,
IDM_MAIN_MENU_LEFT,
(LPARAM)(LPTBBUTTONINFO)&BtnInfo);
外,对于Smartphone不存在这个问题,只要在资源编辑器里创建好菜单,然后用
SHCreateMenuBar(&shmbi)创建即可。也可以动态创建。
更新网上找到一篇有用的文章:
Windows Mobile 5.0 and Pocket PC menus
- 如何去除SDI程序中Commandbar上的"新建"按钮
- 如何去除SDI程序中Commandbar上的"新建"按钮
- SDI程序中,如何在主框架上切换不同的视图
- 如何在MFC的SDI程序中实现多视图
- 如何在MFC的SDI程序中实现多视图
- 如何在MFC的SDI程序中实现多视图
- WPF中如何禁用/去除窗口右上角的关闭按钮
- WPF中如何禁用/去除窗口右上角的关闭按钮
- C#中如何去除窗体默认的关闭按钮
- C#中如何去除窗体默认的关闭按钮
- MFC中SDI结构下如何获取Ribbon上的控件指针
- 删除实体主页上的‘新建’按钮
- C++如何修改SDI程序的默认背景颜色
- C++如何修改SDI程序的默认背景颜色
- VS2008SP1/VS2010新建的SDI/MDI程序,为菜单项添加ToolTip信息
- MFC中SDI程序创建流程的回顾
- 如何通过程序触发按钮上的Action事件?
- C#中如何去除或屏蔽窗体默认的关闭按钮?
- 2007年11月29日 (28没写)
- oracle set autotrace
- 标准数组——向量(1)
- 一年没用过Macromedia的三剑客(Dreamweaver,Flash,Fireworks)了
- 实现录制窗口成各种格式的图片和视频格式
- 如何去除SDI程序中Commandbar上的"新建"按钮
- Cache:一个隐藏并保管数据的场所
- Git Installation Document
- ActiveMQ Tested Result for 5.2.
- Changing the Thickness of the Stroking Pen:改变画笔的厚度
- 对国内几大视频网站http请求分析
- [Microsoft][ODBC SQL Server Driver ]超时已过期的解决过程和方法
- english 单词记忆 ClsitCtl篇
- 程序员等级--大家来看看你是哪一级