- 关 键 词:
- powerbuilder
- windows
- word
3)最后给窗口w_main的Open事件添加脚本
| long ll_MainHandle long ll_SubMenuHandle integer li_MenuItemID long ll_X long ll_Y long ll_BitmapNew long ll_BitmapOpen long ll_BitmapSave long ll_BitmapExit long ll_BitmapCopy long ll_BitmapCut long ll_BitmapPaste long ll_BitmapDelete //取得菜单句柄 ll_MainHandle = GetMenu(Handle(this)) //取得第一个菜单项的句柄 ll_SubMenuHandle = GetSubMenu(ll_MainHandle,0) //装入图像数据 ll_BitmapNew = LoadImageA(0,'new.bmp',IMAGE_BITMAP,0,0,LR_LOADFROMFILE) ll_BitmapOpen = LoadImageA(0,'open.bmp',IMAGE_BITMAP,0,0,LR_LOADFROMFILE) //取得第一个子菜单项的ID并修改菜单 li_MenuItemID = GetMenuItemID(ll_SubMenuHandle,0) ModifyMenu(ll_SubMenuHandle,li_MenuItemID,MF_BITMAP,li_MenuItemId,ll_BitmapNew) //取得第二个子菜单项的ID并修改菜单 li_MenuItemID = GetMenuItemID(ll_SubMenuHandle,1) ModifyMenu(ll_SubMenuHandle,li_MenuItemID,MF_BITMAP,li_MenuItemId,ll_BitmapOpen) //取得菜单缺省check-mark位图的尺寸 ll_x = GetSystemMetrics(SM_CXMENUCHECK) ll_y = GetSystemMetrics(SM_CYMENUCHECK) //按系统尺寸装入图像 ll_BitmapSave = LoadImageA(0,'save.bmp', IMAGE_BITMAP ,ll_x,ll_y,LR_LOADFROMFILE) ll_BitmapExit= LoadImageA(0,'exit.bmp', IMAGE_BITMAP ,ll_x,ll_y,LR_LOADFROMFILE) //设置菜单位图 SetMenuItemBitmaps(ll_SubMenuHandle,2,MF_BYPOSITION,ll_BitmapSave,ll_BitmapSave) SetMenuItemBitmaps(ll_SubMenuHandle,3,MF_BYPOSITION,ll_BitmapExit,ll_BitmapExit) //取得第二个菜单项的句柄 Ll_SubMenuHandle = GetSubMenu(ll_MainHandle,1) //装入图像数据 ll_BitmapCopy = LoadImageA(0,'copy.bmp',IMAGE_BITMAP,0,0,LR_LOADFROMFILE) ll_BitmapCut = LoadImageA(0,'cut.bmp',IMAGE_BITMAP,0,0,LR_LOADFROMFILE) //取得第一个子菜单项的ID并修改菜单 li_MenuItemID = GetMenuItemID(ll_SubMenuHandle,0) ModifyMenu(ll_SubMenuHandle,li_MenuItemID,MF_BITMAP,li_MenuItemId,ll_BitmapCopy) //取得第二个子菜单项的ID并修改菜单 li_MenuItemID = GetMenuItemID(ll_SubMenuHandle,1) ModifyMenu(ll_SubMenuHandle,li_MenuItemID,MF_BITMAP,li_MenuItemId,ll_BitmapCut) //取得菜单缺省check-mark位图的尺寸 ll_x = GetSystemMetrics(SM_CXMENUCHECK) ll_y = GetSystemMetrics(SM_CYMENUCHECK) //按系统尺寸装入图像 ll_BitmapPaste=LoadImageA(0,'paste.bmp', IMAGE_BITMAP ,ll_x,ll_y,LR_LOADFROMFILE) ll_BitmapDelete=LoadImageA(0,'delete.bmp', IMAGE_BITMAP ,ll_x,ll_y,LR_LOADFROMFILE) //设置菜单位图 SetMenuItemBitmaps(ll_SubMenuHandle,2,MF_BYPOSITION,ll_BitmapPaste,ll_BitmapPaste) SetMenuItemBitmaps(ll_SubMenuHandle,3,MF_BYPOSITION,ll_BitmapDelete,ll_BitmapDelete) |
上面的代码知识如何设置File与Edit子菜单项的脚本。至此整个应用程序制作完毕,用户在运行该程序时便可以得到带位图的菜单项,本例在PowerBuilder7.0中运行通过。如下图显示。

从上面设置菜单位图的脚本中我们可以看到,菜单可以带有两种不同类型的图标:完全位图菜单和文字与位图共存菜单。用户在实际开发中可以根据自己的喜好选择相应的类型。值得注意的是,用户在制作应用程序时,必须提供相应的位图,否则将会出错。来自:http://www.qqread.com/pb/c463106002.html
相关图文阅读
频道图文推荐
健 康 咨 询
时 尚 咨 询
相关专题
- Windows操作系统安装 (15669篇文章)
- Windows权限设置 (10273篇文章)
- Windows操作系统安全集 (18739篇文章)
- Windows频道 (9846篇文章)
- 在PB中如何实现数据模糊查询 (1300次浏览)
- 用PB开发多媒体数据库管理系统 (700次浏览)
- PB8.0应用程序编译发布技术研究 (661次浏览)
- 如何发布独立的POWERBUILDER应用 (638次浏览)
- 用Powerbuilder开发WEB数据库 (578次浏览)
- 低级键盘钩子屏蔽Win键、Alt+Tab键的响应 (511次浏览)
- 浅谈PB中动态DataWindow的技术应用 (511次浏览)
- 用PB做一个通用右键菜单 (503次浏览)
- PowerBuilder应用开发系列讲座(9) (489次浏览)
- 怎样在pb中得到存储过程的值 (447次浏览)



