您的位置:软件 > 开发者网络 > 开发工具 > 开发专栏 > PB > 正文
PB中用Windows API制作位图菜单
[文章信息]
作者:SCAN
时间:2004-01-16
出处:论坛
责任编辑:方舟
[文章导读]
本文介绍了一个利用Windows API函数来制作位图菜单的方法,具有较强的实用价值
advertisement
热点推荐
· 11.10软件精选 FW实用设计
· IE最新安全漏洞补救几大措施
· M牛的网络生活之下载篇
· Norton Ghost 9.0全新体验
· InstallShield简明使用教程之前言
[正文]

1 2  下一页

天极IT资讯短信服务 电脑小技巧
资费:包月5元
手机:
介绍:细处着手,巧处用功。高手和菜鸟之间的差别就是:高手什么都知道,菜鸟知道一些。电脑小技巧收集最新奇招高招,让你轻松踏上高手之路。


  摘要:本文介绍了一个利用Windows API函数来制作位图菜单的方法,具有较强的实用价值。

  关键词:Windows API;动态链接库;PowerBuilder

  许多优秀的软件在窗口菜单的左边显示一个小图片,例如Word,这种菜单图文并茂,使操作者感到非常直观。而对于PowerBuilder来说,它为应用开发了几百个简单实用地函数,对于一般的开发应用已经足够,并不需要扩展函数。然而,我们经常希望为最终用户提供一些PowerBuilder并不能提供的功能,例如这种位图菜单,这时我们就需要外部函数。

  外部函数是用其他语言编写的并且存储在动态链接库(DLL)中的函数。一个DLL就是一个包含可以执行的Windows代码的文件。DLL在运行时被动态地装入和链接,并且可被多个应用程序共享。DLL在内存中可以被移动或者固定,可预装入或者命令装入,也可以删除或者永久装入。开发者在使用外部函数之前,必须先对其进行定义,外部函数根据作用域的不同而分为两种类型:全局外部函数与局部外部函数。在PowerBuilder中定义外部函数的语法相当简单,定义函数时根据有无返回值分别使用两种关键字:FUNCTION(函数)和SUBROUTINE(子程序)。

  在PowerBuilder中,我们也可以通过Windows API函数来实现此项功能,利用Windows API函数能够实现许多PowerBuilder不能实现的功能。

  下面通过一个实例来叙述如何通过Windows API函数实现位图菜单。在本实例中,假设在创建一个应用对象Application之后,再分别创建一个菜单对象m_main和窗口对象w_main。在菜单对象m_main中有如下菜单项:File/New、File/Open、File/Save、File/Exit、Edit/Copy、Edit/Cut、Edit/Paste和Edit/Delete。在窗口对象w_main中,将其"Title"属性设置为"位图菜单",并且将菜单"w_main"关连到窗口"w_main"上。

  1)首先为窗口w_main声明局部外部函数

FUNCTION ulong LoadImageA(ulong hintance, string filename,uint utype, int x,int y,uint fload) & LIBRARY "USER32.DLL"
//该函数实现装入图象数据的功能
FUNCTION boolean SetMenuItemBitmaps(ulong hmenu,uint upos,uint flags,&
ulong handle_bm1,ulong handle_bm2) LIBRARY "USER32.DLL"
//该函数设置菜单位图
FUNCTION int GetSystemMetrics( int nIndex ) LIBRARY "USER32.DLL"
//该函数获取菜单的位图尺寸
FUNCTION ulong GetMenuItemID(ulong hMenu,uint uItem) LIBRARY "USER32.DLL"
//该函数获取菜单项目的ID号
FUNCTION int GetSubMenu (ulong hMenu,int pos) LIBRARY "USER32.DLL"
//该函数获取子菜单项的句柄
FUNCTION ulong GetMenu(ulong hWindow) LIBRARY "USER32.DLL"
//该函数获取应用的菜单项
FUNCTION boolean ModifyMenu(ulong hMnu, ulong uPosition, ulong uFlags, &
ulong uIDNewItem, long lpNewI) alias for ModifyMenuA LIBRARY "USER32.DLL"
//该函数用来更新菜单项

  2)其次为窗口w_main声明实例变量

//Win32常量
CONSTANT Integer IMAGE_BITMAP = 0
CONSTANT Integer LR_LOADFROMFILE = 16
CONSTANT Integer SM_CXMENUCHECK = 71
CONSTANT Integer SM_CYMENUCHECK = 72
CONSTANT Integer MF_BITMAP = 4
CONSTANT Integer MF_BYPOSITION = 1024


1 2  下一页

·"WAP天极之IT新闻资讯,50万元等你拿"    ·天极WAP之游戏狂图,50万元等你下载

天极社区邀请您:写博客日记  上传相片   论坛聊天  订阅电子杂志  推荐网摘   免费图铃工具
笔名:   请您注意:

 遵守国家有关法律、法规,尊重网上道德,承担一切因您的行为而直接或间接引起的法律责任。

 天极网拥有管理笔名和留言的一切权利。
评论:
 

发表评论推荐给朋友我想参加相关培训打印我对此感兴趣订阅电子杂志
相关内容阅读排行榜
  • 在PB中如何实现数据模糊查询
  • 在PB 7.0中实现多数据窗口的连续打印
  • PB中数据窗口的精确页面打印技术
  • PowerBuilder数据窗口编程技巧十则
  • 实现PB数据窗口的多表更新
  • VIA驱动问题导致DVD刻录失败
  • [配置推荐]学生型闪龙配置
  • 11.10软件精选 FW实用设计
  • 精英主板全面迈进P5时代
  • 详解11月三大硬件杀手游戏及四大凶器
  • 选硬盘 用好希捷互动存储专家
  • NDS十大最受期待游戏
  • 中国星际个人联赛第6轮综述
  • Advertisement

    天极无线
    待机彩图    >>更多
    多彩动画    >>更多
    美妙和弦    >>更多
    天使在唱歌
    壁虎漫步
    PrettyBoy
    LoveLoveLove
    我是你的小小狗
    单身情歌
    十面埋伏
    祝酒歌
    回心转意
    波斯猫
    太委屈
    S.H.E
    潘玮柏
    M2M
    蔡依林
    阿牛
    林志炫
    陈弈迅
    刀郎
    黑龙
    S.H.E
    陶晶莹
    情人玫瑰坊
    音乐风云
    新片速递
    神秘测试
    都市约会
    ·天极彩信天天精彩
    ·图铃梦工厂下载无限!
    ·找寻童真,卡通专题
    ·夏日激情交友社区!
    ·星座运程,预测人生

    CSEEK搜索