慢走丝水处理:如何在菜单中显示图标

来源:百度文库 编辑:偶看新闻 时间:2024/04/30 15:33:49

如何在菜单中显示图标
www.diybl.com    时间 : 2007-06-17  作者:佚名   编辑:本站 点击:  175 [ 评论 ]
-
-


****************************************************
* 程序: BmpMenu.Prg
* 用途: 在菜单中显示位图的示例
* 程序员:任明汉
* 日期:2000.08.05
* 用法:在命令窗口中打入 Do BmpMenu
* 然后查看"文件"菜单中的"新建"和"打开"菜单项
* 注意事项:见程序中的注释
* 说明:该程序只是一个示例,并未作任何错误检查和
* 环境恢复。也未对文件中使用的 WIN32API 函数
* 的用法和参数作出说明。但作为示例,它应该是足够的了。
*****************************************************
DECLARE INTEGER FindWindow IN win32api STRING,STRING
DECLARE INTEGER GetMenu IN win32api INTEGER
DECLARE INTEGER GetSubMenu IN win32api INTEGER,INTEGER
DECLARE INTEGER LoadImage IN win32api INTEGER,STRING,INTEGER,INTEGER,INTEGER,LONG
DECLARE INTEGER SetMenuItemBitmaps IN win32api INTEGER,INTEGER,INTEGER,INTEGER,INTEGER
DECLARE INTEGER GetMenuItemID IN win32api INTEGER,INTEGER
DECLARE INTEGER ModifyMenu IN win32api INTEGER,INTEGER,INTEGER,INTEGER,string
DECLARE INTEGER DrawMenuBar IN win32api INTEGER

LOCAL ctitle,;
HWND,;
mhandle,;
shandle,;
lcname1,;
lcname2,;
nretval1,;
nretval2,;
menuid1,;
menuid2

ctitle = _SCREEN.CAPTION
HWnd = findwindow(0,m.ctitle)
mhandle = getmenu(m.HWND)
shandle = getsubmenu(m.mhandle,0)
***************************************************************************
*-- 我是在 VFP 5.0 中调试该程序,在你的系统中可能以下文件位置是不正确的
*-- 请修改以下两项,以确保 lcname1 和 lcname2 中包含了正确的文件位置和文件名
****************************************************************************
lcname1 = home()+"SAMPLES\GRAPHICS\BMPS\OFFCTLBR\SMALL\COLOR\NEW.BMP"
lcname2 = home()+"SAMPLES\GRAPHICS\BMPS\OFFCTLBR\SMALL\COLOR\OPEN.BMP"
nretval1 = loadimage(0,m.lcname1,0,0,0,16+4096)
nretval2 = loadimage(0,m.lcname2,0,0,0,16+4096)
menuid1=getmenuitemid(m.shandle,0)
menuid2=getmenuitemid(m.shandle,1)

setmenuitembitmaps(m.shandle,m.menuid1,0,m.nretval1,m.nretval1)
setmenuitembitmaps(m.shandle,m.menuid2,0,m.nretval2,m.nretval2)

modifymenu(m.mhandle,m.menuid1,0,m.menuid1,"新建(\modifymenu(m.mhandle,m.menuid2,0,m.menuid2,"打开(\
Clear DLLS


文章出处:飞诺网(www.diybl.com):http://www.diybl.com/course/3_program/rfoxpro/2007617/62691.html