aardio 官方社区

用户名  找回密码
 注册会员

QQ登录

只需一步,快速开始

帖子
查看: 8275|回复: 2

大虾们帮我看下这个程序哪有问题

[复制链接]

2

主题

6

回帖

49

积分

新手入门

积分
49
发表于 2013-8-4 13:30:01 | 显示全部楼层 |阅读模式
我想实现最小话到托盘,以及关闭程序时询问,我是新手,今天第一次写aardio
帮我看下面代码哪有问题
  1. import config;
  2. import web.form;
  3. import win.util.tray;
  4. import win.ui.menu;
  5. import mouse;

  6. tray = win.util.tray(mainForm,"/res/Icon.ico") //创建托盘图标,如果不能显示图标,可能是图标问题,要复合图标
  7. tray.message = 0x400+9981/*_WM_TRAYMESSAGE*/
  8. tray.tip = "这里是提示" //设置鼠标提示  



  9. /*DSG{{*/
  10. mainForm = ..win.form( topmost=1;bottom=724;scroll=1;text="VDUCN在线客服 beta 1.0";border="dialog frame";parent=...;image=$"\res\login.gif";help=1;right=315;frame=1;acceptfiles=1;cls="VDUCN_KEFU" )
  11. mainForm.add(  )
  12. /*}}*/

  13. //创建web窗体
  14. mainWb = web.form( mainForm
  15. ,0x4/*_UIFLAG_NO3DBORDER*/ | 0x8/*_UIFLAG_SCROLL_NO*/  //禁用边框,禁用滚动
  16. );

  17. mainWb.showMenu=function(x,y,id,ele){
  18.         /*定义此事件函数则禁用默认的右键弹出菜单*/
  19.         return false;
  20. }
  21. mainWb.TitleChange=function( text ) {
  22.         /*网页标题改变时触发*/
  23.         mainForm.text = mainWb.document.title;
  24. }

  25. //打开目标网站
  26. mainWb.go("http://kf.vducn.com/kefu/login.php")

  27. mainForm.onClose = function(hwnd,message,wParam,lParam){
  28.     tray.delete(); //关闭窗口同时删掉托盘,避免关闭窗口后要鼠标移到托盘图标才消失
  29. }

  30. //下面是添加托盘右键菜单

  31. mainForm.popmenu=win.ui.popmenu(mainForm);
  32. mainForm.popmenu.add('打开',function(id){ //添加了一个打开主界面的菜单
  33.     mainForm.show();
  34. })
  35. mainForm.popmenu.add('退出',function(id){ //添加了一个退出程序的菜单
  36.    mainForm.close()
  37. })

  38. //下面是获取鼠标消息弹出上面的右键菜单
  39. mainForm.wndproc = function(hwnd,message,wparam,lparam){
  40.     select(message) {//判断消息类型
  41.         case( 0x400+9981/*_WM_TRAYMESSAGE*/ ) { //托盘图标消息
  42.               
  43.             if(lparam = 0x203/*_WM_LBUTTONDBLCLK)*/){  //鼠标双击
  44.                 mainForm.show(true);
  45.             }elseif(lparam =0x205/*_WM_RBUTTONUP*/){ //鼠标右键

  46.                 import mouse;
  47.                     x,y = mouse.getPos();
  48.                             win.setForeground(mainForm.hwnd)
  49.                            mainForm.popmenu.popup(x,y,true)
  50.             }
  51.             

  52.         }
  53.         case( 0x112/*_WM_SYSCOMMAND*/ ){ //系统命令消息
  54.             if( wparam == 0xF020/*_SC_MINIMIZE*/ ){ //用户点击了最小化按钮
  55.                 mainForm.show(false); //隐藏窗口
  56.                 return true;//阻击默认消息传递,取消最小化过程
  57.               }
  58.         }

  59.         

  60.      }
  61.         
  62. }


  63. mainForm.show(); //显示窗体
  64. mainWb.wait("");//等待指定网址




  65. //进入消息循环
  66. win.loopMessage();

复制代码

9

主题

443

回帖

2546

积分

版主

积分
2546
发表于 2013-8-4 13:58:49 | 显示全部楼层
把问题精简一下,把你有疑问的那几句代码整理出来,弄成可运行的代码,例如图标可以暂时不要指定,
你的代码缺少图片别人根本无法运行,代码一股脑全复制下来别人也不一定有时间一句句的看。

简单的,你还没有创建 mainForm,就在使用 mainForm,这就好像一个孩子还没从肚子里生出来,你就命令他吃饭唱歌跳个舞啥的......这肯定是行不通的,这些低级逻辑错误自己再仔细的检查一下。

2

主题

6

回帖

49

积分

新手入门

积分
49
 楼主| 发表于 2013-8-4 15:37:14 | 显示全部楼层
roger 发表于 2013-8-4 13:58
把问题精简一下,把你有疑问的那几句代码整理出来,弄成可运行的代码,例如图标可以暂时不要指定,
你的代 ...

找到原因了,谢谢提醒
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

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

GMT+8, 2025-6-6 08:50 , Processed in 0.059100 second(s), 22 queries .

Powered by Discuz! X3.5

Copyright © 2001-2024 Tencent Cloud.

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