aardio 官方社区

 找回密码
 注册会员

QQ登录

只需一步,快速开始

搜索
查看: 17638|回复: 3

修改HTMLayout控件默认右键菜单

[复制链接]

3

主题

18

回帖

184

积分

一级会员

积分
184
发表于 2013-6-2 11:40:48 | 显示全部楼层 |阅读模式

  1. import win.ui;
  2. /*DSG{{*/
  3. var winform = ..win.form( bottom=422;parent=...;text="修改HTMLayout控件默认右键菜单";right=654 )
  4. winform.add(  )
  5. /*}}*/

  6. import web.layout;
  7. wbLayout = web.layout( winform )

  8. wbLayout.html = /**
  9.                 文本框:<widget type="text" id="text" size=40 />
  10. 数值:<input type="decimal" value="10" />
  11. <menu .context>
  12. <li        command="behavior:edit:undo" style="foreground-image:url(res:edit-undo.png)">
  13. 撤消
  14. <span class="accesskey">Ctrl+Z
  15. </li>
  16. <hr/>
  17. <li        command="behavior:edit:cut" style="foreground-image:url(res:edit-cut.png)">
  18. 剪切
  19. <span class="accesskey">Ctrl+X
  20. </li>
  21. <li        command="behavior:edit:copy" style="foreground-image:url(res:edit-copy.png)">
  22. 复制
  23. <span class="accesskey">Ctrl+C
  24. </li>
  25. <li        command="behavior:edit:paste" style="foreground-image:url(res:edit-paste.png)">
  26. 粘贴
  27. <span class="accesskey">Ctrl+V
  28. </li>
  29. <hr/>
  30. <li        command="behavior:edit:selectall">
  31. 全选
  32. <span class="accesskey">Ctrl+A
  33. </li>
  34. </menu>
  35. **/

  36. wbLayout.css = /**
  37. widget[type="text"],
  38. input[type="text"],
  39. widget[type="password"],
  40. input[type="password"],
  41. widget[type="decimal"],
  42. input[type="decimal"],
  43. widget[type="number"],
  44. input[type="number"],
  45. input:not([type]){
  46. context-menu:selector(menu.context);
  47. }
  48. **/

  49. winform.show();
  50. win.loopMessage();

复制代码
<menu .context> 这个样式貌似HTMLayout里有定义样式,这里我们只需要引用即可;
原始控件右键菜单

原始控件菜单

原始控件菜单


修改后

修改后

修改后

166

主题

2154

回帖

1万

积分

管理员

积分
13056
发表于 2013-6-2 16:48:54 | 显示全部楼层
可用下面的代码修改默认菜单(新版本已改成下面的菜单 )
  1. import fsys.res;
  2. var res = fsys.res.open( io.fullpath( "~\lib\web\layout\.res\HTMLayout.dll" ) ,false);

  3. html = /*
  4. <menu>
  5.   <li        command="behavior:edit:undo"
  6.                 style="foreground-image:url(res:edit-undo.png)"
  7.                 >撤消<span class="accesskey">Ctrl+Z</span></li>
  8.   <hr/>
  9.   <li        command="behavior:edit:cut"
  10.                 style="foreground-image:url(res:edit-cut.png)"
  11.                 >剪切<span class="accesskey">Ctrl+X</span></li>
  12.   <li        command="behavior:edit:copy"
  13.                 style="foreground-image:url(res:edit-copy.png)"
  14.                 >复制<span class="accesskey">Ctrl+C</span></li>
  15.   <li        command="behavior:edit:paste"
  16.                 style="foreground-image:url(res:edit-paste.png)"
  17.                 >粘贴<span class="accesskey">Ctrl+V</span></li>
  18.   <hr/>
  19.   <li        command="behavior:edit:selectall"
  20.                 >全选<span class="accesskey">Ctrl+A</span></li>
  21. </menu>
  22. */
  23. res.update(23/*_RT_HTML*/,"BEHAVIOR-EDIT-MENU",string.fromto(html,0,65001));

  24. html = /*
  25. <menu .plaintext-context>
  26.   <li command="richtext:undo"
  27.           style="foreground-image:url(res:edit-undo.png)"
  28.           >撤消<span class="accesskey">Ctrl+Z</span></li>
  29.   <hr/>
  30.   <li command="richtext:cut"
  31.           style="foreground-image:url(res:edit-cut.png)"
  32.           >剪切<span class="accesskey">Ctrl+X</span></li>
  33.   <li command="richtext:copy"
  34.           style="foreground-image:url(res:edit-copy.png)"
  35.           >复制<span class="accesskey">Ctrl+C</span></li>
  36.   <li command="richtext:paste"
  37.           style="foreground-image:url(res:edit-paste.png)"
  38.           >粘贴<span class="accesskey">Ctrl+V</span></li>
  39.   <hr/>
  40.   <li command="richtext:selectall"
  41.           >全选<span class="accesskey">Ctrl+A</span></li>
  42. </menu>
  43. */
  44. res.update(23/*_RT_HTML*/,"BEHAVIOR-TEXT-MENU",string.fromto(html,0,65001));

  45. html = /*
  46. <menu .richtext-context>
  47.   <li command="richtext:undo"
  48.           style="foreground-image:url(res:edit-undo.png)"
  49.           >撤消<span class="accesskey">Ctrl+Z</span></li>
  50.   <hr/>
  51.   <li command="richtext:cut"
  52.           style="foreground-image:url(res:edit-cut.png)"
  53.           >剪切<span class="accesskey">Ctrl+X</span></li>
  54.   <li command="richtext:copy"
  55.           style="foreground-image:url(res:edit-copy.png)"
  56.           >复制<span class="accesskey">Ctrl+C</span></li>
  57.   <li command="richtext:paste"
  58.           style="foreground-image:url(res:edit-paste.png)"
  59.           >粘贴<span class="accesskey">Ctrl+V</span></li>
  60.   <li>选择性粘贴
  61.       <menu>
  62.         <li command="richtext:paste-plain-text">HTML转换为文本</li>
  63.             <li command="richtext:paste-text-as-html">粘贴HTML代码 </li>
  64.             <li command="richtext:paste-html-no-tables">粘贴HTML格式(移除表格)</li>
  65.           </menu>
  66.   </li>
  67.   <hr/>
  68.   <li command="richtext:selectall"
  69.           >全选<span class="accesskey">Ctrl+A</span></li>
  70.   <div .cell-selection>
  71.       <caption style="color:graytext">单元格:<img.hr/></caption>
  72.           <li command="richtext:merge-cells"
  73.                   >合并<span class="accesskey">Backspace</span></li>
  74.           <li command="richtext:split-cells-by-rows"
  75.                   >拆分行<span class="accesskey">Ctrl+1</span></li>
  76.           <li command="richtext:split-cells-by-cols"
  77.                   >拆分列<span class="accesskey">Ctrl+2</span></li>
  78.   </div>
  79. </menu>
  80. */
  81. res.update(23/*_RT_HTML*/,"BEHAVIOR-RICHTEXT-MENU",string.fromto(html,0,65001));
  82. res.close();
复制代码

3

主题

18

回帖

184

积分

一级会员

积分
184
 楼主| 发表于 2013-6-3 10:57:27 | 显示全部楼层
谢谢老大的提示和修改,现在不用改更方便了。

0

主题

1

回帖

8

积分

新手入门

积分
8
发表于 2013-6-29 15:38:15 | 显示全部楼层
大赞~ 最喜欢aardio的htmllayout了
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

手机版|未经许可严禁引用或转载本站文章|aardio.com|aardio 官方社区 ( 皖ICP备09012014号 )

GMT+8, 2025-6-13 09:51 , Processed in 0.071372 second(s), 25 queries .

Powered by Discuz! X3.5

Copyright © 2001-2024 Tencent Cloud.

快速回复 返回顶部 返回列表