搜索
查看: 1349|回复: 2

miniblink 自定义右键菜单

[复制链接]

185

主题

2541

帖子

1万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
13973
发表于 2018-6-30 17:24:14 | 显示全部楼层 |阅读模式
下面的代码用到了新增的函数,需要先更新 web.blink扩展库。
  1. import win.ui;
  2. /*DSG{{*/
  3. var winform = win.form(text="miniblink - 自定义右键菜单";right=1123;bottom=570)
  4. winform.add()
  5. /*}}*/

  6. import web.blink.form;  
  7. var mb = web.blink.form(winform);
  8. mb.go("http://www.aardio.com");

  9. import win.clip;
  10. import win.ui.menu;
  11. import gdip.bitmap;
  12. winform.wndproc = {
  13.     [0x204/*_WM_RBUTTONDOWN*/] = function(hwnd,message,wParam,lParam){
  14.         var x,y = win.getMessagePos(lParam);
  15.         var ele = mb.fromPoint(x,y);
  16.         if(ele){
  17.             var menu = win.ui.popmenu(winform)
  18.             menu.add("复制",function(){
  19.                     ele = mb.fromPoint(x,y);
  20.                     if( string.cmp(ele.tagName,"IMG") == 0 ){
  21.                         var bmp = mb.createGdipBitmap(ele);
  22.                         var hbmp = bmp.copyHandle();
  23.                         win.clip.writeBitmap(hbmp)
  24.                         ::DeleteObject(hbmp);
  25.                     }
  26.                     else {
  27.                         var rt = mb.window.getSelection().getRangeAt(0);
  28.                         if(rt) win.clip.write(rt.toString())
  29.                     }
  30.                     
  31.             })
  32.             menu.popup(x,y)
  33.         }
  34.         
  35.         //取消默认的右键菜单
  36.         return 0;
  37.     }
  38. }

  39. winform.show()
  40. win.loopMessage();
复制代码
回复

使用道具 举报

3

主题

50

帖子

405

积分

培训班

积分
405
发表于 2018-7-1 13:22:25 | 显示全部楼层
40 行没考虑未选中的情况

  1. if(mb.window.getSelection().getRangeAt(0)){
  2.                                                                            win.clip.write(mb.window.getSelection().getRangeAt(0).toString())
  3.                                                                    }
复制代码
回复

使用道具 举报

185

主题

2541

帖子

1万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
13973
 楼主| 发表于 2018-7-1 15:50:53 | 显示全部楼层
nlysh007 发表于 2018-7-1 13:22
40 行没考虑未选中的情况

不错,你很棒
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

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

GMT+8, 2018-10-20 03:40 , Processed in 0.093750 second(s), 22 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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