注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

回首望星辰

See you in the next world

 
 
 

日志

 
 

如何去除SDI程序中Commandbar上的"新建"按钮   

2009-03-12 10:22:18|  分类: 手机开发 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
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, //注意要修改上面的IDM_MENU为响应的消息ID

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的就是建议使用两个菜单,左边是常用的功能。

不过可以通过以下的方式来修改软键菜单上的文本:
1TBBUTTONINFO  BtnInfo;
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)创建即可。也可以动态创建。

===================================

如何关闭程序:WM下ok为关闭窗口,x为最小化窗口。要显示ok按钮则使用:

//显示OK按钮 
 SHDoneButton(SHDB_SHOW);

  评论这张
 
阅读(320)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017