前往Shuct.Net首页

Shudepb PB反编译专家长时间以来,为业内同类软件事实上的唯一选择.细节,彰显专业.态度,决定品质.

关于PowerBuilder的搜索

如何在PB中创建图标栏应用_程序设计 - PowerBuilder - 界面与菜单_中科软件园 用户登录 | 用户注册 首 页 ┆ 软件下载 ┆ 教程中心 ┆ 办公指南 ┆ flash动画 ┆ 文档下载 ┆ 办公公文 首 页 电脑维修 操作系统 程序设计 图形图像 媒体动画 网站开发 数据库类 办公软件 网络应用 腾讯QQ Flash 文章搜索 软件搜索 动画搜索 热门标签:Photoshop(2) 调出偏暗人物照片柔美的淡红色(1) 调出风景照片柔美的橙蓝色(1) --> --> 当前位置:中科软件园 → 教程中心 → 程序设计 → PowerBuilder → 界面与菜单 → 如何在PB中创建图标栏应用 作者:不详 来源:不详 发布时间:2005-08-29 12:30:21 如何在PB中创建图标栏应用 投递文章减小字体 增大字体 答:推荐有关文章 在PowerBuilder中创建图标栏应用 在一些应用埸合,常需要在Windows 9.X或Winnt中的图标栏中显示出公司/应用程序的图标,在单击图标时弹出相应的窗口,就象金山词霸一样。下面介绍采用PowerBuilder中在Windows 9.x和Windows NT下显示图标栏 答:推荐有关文章 在PowerBuilder中创建图标栏应用 ---- 在一些应用埸合,常需要在Windows 9.X或Winnt中的图标栏中显示出公司/应用程序的图标,在单击图标时弹出相应的窗口,就象金山词霸一样。下面介绍采用PowerBuilder中在Windows 9.x和Windows NT下显示图标栏图标的方法。 一、 建立一个应用程序 ---- 在创建程序前,先准备一个用于在图标栏中显示的图标文件(.ICO),并准备一个用于弹出窗口显示的图片(BMP 256色)。启动PowerBuilder,创建一个应用(Application),取应用名Starsoft(任意),注意采用模板生成却缺省窗口。 二、 创建要显示的图标窗口 ---- 创建一个用于显示成图标的窗口,取名为W_systray,再在上面放置一张BMP图片,式样如下图所示(略) ---- 设置其它窗口的有关信息,如窗口名等。 三、 编程 ---- 1、定义全局外部函数 ---- PowerBuilder本身并不提供用于在图标栏中把窗口显示成图标的函数,但可以通过Windows API调用来实现,有关在PowerBuilder调用相应的API函数如下(定义在全局外部函数中): Public Function Integer Shell_NotifyIcon (Long dwMessage, Any lpData) Library "shell32" Alias For "Shell_NotifyIconA" Public Function Long LoadImage (Long hInst, String lpsz, Long un1, Long n1, Long n2, Long un2) Library "user32" Alias For "LoadImageA" Public Function Long DestroyIcon (Long hIcon) Library "user32" Alias For "DestroyIcon" Public Function Long SetForegroundWindow (Long hwnd) Library "user32" Alias For "SetForegroundWindow" Public Function Long OpenIcon (Long hwnd) Library "user32" Alias For "OpenIcon" ---- 2、应用入口 ---- 在Application的Open &#115;cripts中,输入下列函数: ---- Open (win_systray) ---- 3、窗口函数和&#115;cripts ---- 在W_systray窗口中,创建一个名称为notifyicondata的结构,定义如下:项目 数据类型 Cbsize Long Hwnd Long Uid Long Uflags Long Ucallbackmessage Long Hicon Long Sztip any ---- 再定义三个函数: ---- 1、AddToTray(),参数:无;返回值:布尔值(True/False) // Boolean AddToTray () Any nid if hIcon = 0 then // the icon has not been loaded yet hIcon = LoadImage(0, "SysTray.ico", IMAGE_ICON, 0, 0, LR_LOADFROMFILE) end if if hIcon = 0 then MessageBox ("错误", "不能加载图标!") Return False else nid = SetNotifyIconData (Handle (This), 0, NIF_MESSAGEorNIF_ICONorNIF_TIP, WM_MOUSEMOVE, hIcon, "TestTip") Shell_NotifyIcon (NIM_ADD, nid) Return True end if ---- 2、RemoveFromTray ();参数:无;返回值:无 // RemoveFromTray () Any nid nid = SetNotifyIconData (Handle (This), 0, NIF_MESSAGEorNIF_ICONorNIF_TIP, 0, hIcon, "") Shell_NotifyIcon (NIM_DELETE, nid) if hIcon < > 0 then DestroyIcon (hIcon) hIcon = 0 ---- 3、SetNotifyIconData (Long hWnd, Long ID, Long Flags, Long CallbackMessage, Long Icon, String Tip); 返回值:notifyicondata // NotifyIconData SetNotifyIconData (Long hWnd, Long ID, Long Flags, Long CallbackMessage, Long Icon, String Tip) Char MyTip [64] NotifyIconData NidTemp NidTemp.cbSize = 88 // Len (NidTemp) NidTemp.hWnd = hWnd NidTemp.uID = ID NidTemp.uFlags = Flags NidTemp.uCallbackMessage = CallbackMessage NidTemp.hIcon = Icon MyTip = Tip + Char (0) NidTemp.szTip = MyTip return NidTemp 最后,在窗口的有关事件中输入函数: Open 事件 if AddToTray () then Visible = False Close 事件 RemoveFromTray () CloseQuery 事件 if CanClose then Return 0 else Visible = False Return 0 End if Resize事件 if sizetype = 1 then Visible = False 四、 测试 ---- 完成上述工作后,就可以运行并加以测试了。进入运行,在图标栏中就注册了一个图标,单击就弹出窗口,窗口示例如下图所示(略): ---- 这时,最小化该窗口,不会在Windows 9.x或Windows NT的任务栏中显示,而是缩小成一个在图标栏中的图标。 ---- 上述示例在Windows 9.8、Windows NT V4.0和PowerBuilder 6.5下测试通过。 此题由yiyi提供答案 Tags:作者:不详 [] [返回上一页] [打 印] 0 好的评价 如果您觉得此教程好,就请您 0%(0) 差的评价 如果您觉得此教程差,就请您 0%(0) 中查找“如何在PB中创建图标栏应用”更多相关内容 中查找“如何在PB中创建图标栏应用”更多相关内容 ·上一篇教程:在pb的程序中屏蔽ctrl alt del 和 windows键 ·下一篇教程:怎样让DW的列在点击时标题的边框由3D raise改为 3D lower? 教程评论评论内容只代表网友观点,与本站立场无关! 评论摘要(共 1 条,得分 85 分,平均 85 分) 查看完整评论 [回复] 1 楼 emycnedccnc   打分:85 分  发表时间:2012-05-05 · aB1JsY <a href="http://suyotpvieiuu.com/">suyotpvieiuu</a>,&nb 用户名: ! 查看更多评论 分 值:100分 85分 70分 55分 40分 25分 10分 1分 内 容: ! 通知管理员 验证码: 点击获取验证码 站长推荐 栏目导航 基础教程 API调用 数据库 数据窗口 分布式计算 运行环境 项目开发 界面与菜单 脚本与技巧 pb函数库 实例代码 本类热门阅览 显示/隐藏任务栏 如何在PB中创建图标栏应用 PowerBuilder制作IE风格的图标 让PowerBuilder制作查询系统的 在pb的程序中屏蔽ctrl alt de 为你的程序添加热键功能 为PB的TreeView实现同步选择 PB中实现图片按钮的mousemove 用PB做一个通用右键菜单 在PowerBuilder中使下拉列表框 如何取消工具栏右击弹出菜单? 怎样让DW的列在点击时标题的边 相关文章 &rsaquo; 模板--如何在PHP中使用它们 &rsaquo; 如何在PB中制作特殊形状数据窗... &rsaquo; 如何在pb中创建COM组件,并在a... &rsaquo; 如何在pb9中调用WebService &rsaquo; 如何在PB中创建图标栏应用 &rsaquo; 如何在PB下实现圆形的窗口 &rsaquo; 如何在PB中启动控制面板及其控... &rsaquo; 如何在PB中同时“继承”多个用... &rsaquo; 如何在PB中实现串口编程 &rsaquo; 如何在PHP中使用数组 按字母检索 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 按声母检索 A B C D E F G H J K L M N O P Q R S T W X Y Z 数字 符号 关于本站 | 网站帮助 | 广告合作 | 下载声明 | 友情连接 | 网站地图 版权所有:中科软件园 备案编号:豫ICP备05015809号 “法律声明” Copyright (C)2004 - 2009 www.4oa.com Info Port. All rights reserved.