全部博文(160)
分类: LINUX
2011-01-21 11:23:44
在编辑区及单元格的所有右键菜单中增加“全选”菜单项, 功能同OO3.0电子表格 编辑->全部选中,作为右键菜单的最后一项,且独自成为一个区域。若“全选”功能不可用,则右键菜单中无“全选(K)”。
这个小小的功能比较好实现,实现中碰到的问题是如何实现“功能”不可用时,不显示“全选菜单项”。右键功能是公用模块,用在sc、sw、sd和si中。如何根据编辑区中的内容判断“全选”的状态是难点。
1. sfx2/source/menu/menu.src 中添加“全选”菜单项。
在Menu MN_CLIPBOARDFUNCS 菜单项中添加如下内容:
// comment from Manda:20090202
// MenuItem { Separator = TRUE; } ;
MenuItem
{
Identifier = SID_SELECTALL ;
HelpID = SID_SELECTALL ;
Text [ en-US ] = “Select ~All” ;
};
// comment end
2. 在sfx2/source/menu/localize.sdf中添加本地化的内容,仿造已有方法就可以。
3. 在sfx2/source/menu/mnumgr.cxx中实现对按钮的管理。菜单项中的各个菜单项的隐藏与显示都和 MENU_FLAG_HIDEDISABLEDENTRIES标志有关。一直没有搞清楚用这个标志来实现隐藏和管理的流程和原理,待研究之后如何把“全 选”菜单项也加入。
一时没有研究完,先记录与此。