PB程序最小化后(屏幕右下角)点击图标时弹出功能菜单

gaojupeng 2007-01-08 09:13:31
PB能不能实现像一般软件那样最小化后只在屏幕右下角显示(这个见过),且点击最小化图标时弹出功能菜单的功能?一般能最小化到屏幕右下角的软件好像都可以实现弹出功能菜单这个功能,不过我没做过,如果哪位大哥有这样的PB程序还望能发小弟一份,借鉴一下,感激涕零啊.邮箱:gaojupeng12@163.com
...全文
1217 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
knowledge_Is_Life 2008-04-30
  • 打赏
  • 举报
回复
我也想知道,正在找這方面的資料~~~~~
cnhfz 2007-11-29
  • 打赏
  • 举报
回复
错误百出
lllyyymmm 2007-11-29
  • 打赏
  • 举报
回复
主要还是调用API
bai_jiong 2007-11-28
  • 打赏
  • 举报
回复
请给我一份,好吗?

bai_jiong@126.com
forevernuo 2007-11-22
  • 打赏
  • 举报
回复
能发给我一份吗 ?


我也想要

谢谢

ligangsky@163.com
xuejinn 2007-06-30
  • 打赏
  • 举报
回复
mark
liyi830 2007-06-29
  • 打赏
  • 举报
回复
mark
li_d_s 2007-01-11
  • 打赏
  • 举报
回复
已发from lidsh@bizsmooth.com
water_xiao 2007-01-11
  • 打赏
  • 举报
回复
看看是否对你有帮助?

实现系统托盘
 WINDOWS状态栏也称系统托盘,在WINDOWS9X中已有系统时钟、音量控制、输入法等程序在WINDOWS的状态栏中设有图标,一些应用程序在安装完后也将它们本身的图标放入了状态栏中,如超级解霸、WINAMP等。通过在应用程序中有效地控制状态栏中的图标,不仅可以使应用程序具有专业水准,也方便了用户的操作。VB做为一种使用很广的高级语言,实现将图标放入状态栏的功能并不困难,只要有效地利用一个API函数 Shell_NotifyIcon和NOTIFYICONDATA数据结构就能达到这一目的,有关这两者的定义和使用在程序中有详细的注释,在此就不再详述了。
下面的这个程序运行后,将窗口图标加入到了WINDOWS状态栏中,用鼠标右击该图标会弹出一个菜单,可实现修改该图标、窗口复位、最小化、最大化及关闭程序等功能。
实现步骤:
结构定义
Type NOTIFYICONDATA from structure
 long cbSize //注释:该数据结构的大小
 long hwnd //注释:处理任务栏中图标的窗口句柄
 long uID//注释:定义的任务栏中图标的标识
 long uFlags //注释:任务栏图标功能控制,可以是以下值的组合(一般全包括)
 //注释:NIF_MESSAGE 表示发送控制消息;
 //注释:NIF_ICON表示显示控制栏中的图标;
 //注释:NIF_TIP表示任务栏中的图标有动态提示。
 long uCallbackMessage//注释:任务栏图标通过它与用户程序交换消息,处理该消息的窗口由hWnd决定
 long hIcon //注释:任务栏中的图标的控制句柄
 string szTip//注释:图标的提示信息
End Type
外部函数引用声明:
Function long Shell_NotifyIcon (long dwMessage,NOTIFYICONDATA lpData ) Library "shell32.dll" Alias for "Shell_NotifyIconA"
实例变量定义:
Constant long WM_SYSCOMMAND = 274
Constant long SC_RESTORE = 61728
integer LastState //注释:保留原窗口状态
//注释:---------- dwMessage可以是以下NIM_ADD、NIM_DELETE、NIM_MODIFY 标识符之一
Constant long NIM_ADD =0 //注释:在任务栏中增加一个图标
Constant long NIM_DELETE =2 //注释:删除任务栏中的一个图标
Constant long NIM_MODIFY = 1//注释:修改任务栏中个图标信息
Constant long NIF_MESSAGE = 1// 注释:NOTIFYICONDATA结构中uFlags的控制信息
Constant long NIF_ICON = 2
Constant long NIF_TIP =4
Constant long WM_MOUSEMOVE = 512//注释:当鼠标指针移至图标上
Constant long WM_LBUTTONUP = 514
Constant long WM_RBUTTONUP =517
NOTIFYICONDATA myData
w_example窗口的open事件:
If this. WindowState = Minimized! Then
  LastState = Normal!
 Else
  LastState = this.WindowState
 End If
myData.cbSize = 256
mydata.hwnd =handle(this)
mydata.uID = 0
mydata.uFlags = NIF_ICON + NIF_MESSAGE + NIF_TIP
mydata.uCallbackMessage = WM_MOUSEMOVE
mydata.hIcon = this.Icon//注释:默认为窗口图标
mydate.szTip = "提示"
Shell_NotifyIcon(NIM_ADD, myData)
窗口w_example的mousemove事件:
choose case long (X)
  Case WM_RBUTTONUP //注释:鼠标在图标上右击时弹出菜单
    m_popup im_pop
im_pop=create m_popup
im_pop.popmemu(x,y)
destroy im_pop
Case WM_LBUTTONUP //注释:鼠标在图标上左击时窗口若最小化则恢复窗口位置
    If this.WindowState = Minimized Then
     this.WindowState = LastState
     this.SetFocus
    End If
end choose
窗口w_example的close事件:
Shell_NotifyIcon(NIM_DELETE, myData)// 注释:窗口卸载时,将状态栏中的图标一同卸载
gaojupeng 2007-01-11
  • 打赏
  • 举报
回复
li_d_s:
已收到,非常感谢
Paladin_china 2007-01-09
  • 打赏
  • 举报
回复
想做还没有做

1,075

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder 相关问题讨论
社区管理员
  • 基础类社区
  • WorldMobile
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧