导航
  • 主页
  • API 调用
  • 基础类
  • 控件与界面
  • 数据库相关
  • DataWindow
  • 项目管理
  • Web 应用
  • 脚本语言

如何使程序运行时缩小在右下角的托盘内?

pigherd 2002-06-15 08:29:14
如何使程序运行时缩小在右下角的托盘内?
...全文
24 点赞 收藏 10
写回复
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
mxlmwl 2002-06-18
楼上诸位留email的每人都发了一个,呵呵。
回复
xiongxiao 2002-06-17
逛一圈.
回复
dfz_fan 2002-06-17
TO: mxlmwl(飞星) :

能否给我发一个
fan_dfz@msn.com
回复
jeerer 2002-06-17
请发给我一个jeerer@163.net
回复
pigherd 2002-06-17
发给我吧,分分作为回报!pigherd@sohu.com
回复
dotnba 2002-06-16
NewSun9988@hotmail.com
xiexie
回复
msf 2002-06-16
可否也给我一个. sht_msf0938@sina.com
回复
mxlmwl 2002-06-16
俺有实例,必要的话给你发过去,给我发个短消息就成了
回复
yiyu 2002-06-15
首先在窗口定义下列局部外部函数(Local External Functions...)
function long LoadLibrary( ref string string ) LIBRARY "KERNEL32" Alias For LoadLibraryA

function long FreeLibrary( long long ) LIBRARY "KERNEL32"

function boolean Shell_NotifyIcon( ulong long, ref s_str str ) LIBRARY "SHELL32" Alias FOR "Shell_NotifyIconA"

function long LoadIcon( long long, long long ) LIBRARY "USER32" Alias For LoadIconA
义结构型变量:

s_str:

size Unsignedlong
Hwnd Long
Id Unsignedlong
Flags Unsignedlong
Callbackmessage Unsignedlong
Icon Long
tips[64] Character
定义实例变量:
private:
s_str istr_icon
窗口最小化按钮Click事件写入如下Script:
string ls_resource
Long ll_handle
// 下三句为装入图标资源,notepad.exe即为写字板,exe执行时显示的图标内定为1
ls_resource = "notepad.exe"
ll_handle = loadlibrary ( ls_resource )
istr_icon.icon = loadicon ( ll_handle, 1 )
// 窗口回调事件号,pbm_custom01即为1024,02为1025,依此类推
istr_icon.callbackmessage = 1024
istr_icon.tips = "应用程序"
istr_icon.hwnd = handle ( parent )
istr_icon.size = 88
istr_icon.id = 1
// 标识值,即为显示tips 4, 显示icon 2, 激活窗口对应事件号
istr_icon.flags = 7
// 显示icon关键函数, 0为显示,1为修改,2为删除
shell_notifyicon ( 0, istr_icon )
parent.hide ( )
// 释放资源
freelibrary ( ll_handle )
为窗口创建用户定义事件ue_event,event id为pbm_custom01,为其写script:
m_popup lm_popup
Integer li_X, li_Y
choose case lparam
Case 513 // LButtonUp
// 删除图标
Shell_NotifyIcon( 2, istr_icon )
// 显示窗口
this.show ( )
CASE 517 // RButtonUp
li_X = This.X
li_Y = This.Y
// 移动到屏幕外以免show 时看到,你可关闭此句看什么效果
This.Move ( - This.Width - 10, - This.Height - 10 )
// 加这句才能看到菜单条(菜单条属于此windows)
This.Show ( )
lm_popup = CREATE m_popup
lm_popup.m_item.PopMenu ( PointerX ( ), PointerY ( ) )
// 恢复设置
This.Hide ( )
This.Move ( li_X, li_Y )
DESTROY lm_popup
end choose
其中,"m_popup"为最小化成TRAYICON图标时点击右键时弹出的菜单。


我也在找,贴出来大家分享!

本篇来自:http://yypb.myrice.com/
回复
huaxiaosxl 2002-06-15
下载网址为:http://extend.hk.hi.cn/~kjx/
注意,如果在W2K下运行会出现弹出菜单弹出位置不正常,解决办法是将缩放到托盘的代码写到一个Click事件里,而不是写到窗口的Resize事件里。
回复
发动态
发帖子
PowerBuilder
创建于2007-09-28

814

社区成员

PowerBuilder 相关问题讨论
申请成为版主
社区公告
暂无公告