|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
修复过程包含最多4个阶段,在下面描述。在你开始前,你应该cd到数据库目录和检查表文件的权限,确保他们可被运行mysqld的Unix用户读取(和你,因为你需要存取你正在检查的文件)。如果它拒绝你修改文件,他们也必须是可被你写入的。菜单
*******************************************************
有用情况:pb6.5pb70pb80pb90
功能:位图菜单的制造
方法:以下
*******************************************************
第一步,起首要创建一个menu工具,定名为:m_bitmap。计划格局有
一个主菜单File,上面有4个子菜单newopenaveexit,以下:
----File-----
-new
-open
-save
-exit
第二步,找4个位图文件,放到exe地点的目次下,定名为:new.bmpopen.bmpave.bmpexit.bmp
第三步,编代码
主窗体w_main,窗体范例main,到场主菜单m_menu。
实例变量声明:
//Win32常量
CONSTANTIntegerIMAGE_BITMAP=0
CONSTANTIntegerLR_LOADFROMFILE=16
CONSTANTIntegerSM_CXMENUCHECK=71
CONSTANTIntegerSM_CYMENUCHECK=72
CONSTANTIntegerMF_BITMAP=4
CONSTANTIntegerMF_BYPOSITION=1024
全局内部函数引进API:
FUNCTIONulongLoadImageA(ulonghintance,stringfilename,uintutype,&
intx,inty,uintfload)LIBRARY"USER32.DLL"
FUNCTIONbooleanSetMenuItemBitmaps(ulonghmenu,uintupos,uintflags,&
ulonghandle_bm1,ulonghandle_bm2)LIBRARY"USER32.DLL"
FUNCTIONintGetSystemMetrics(intnIndex)LIBRARY"USER32.DLL"
FUNCTIONulongGetMenuItemID(ulonghMenu,uintuItem)LIBRARY"USER32.DLL"
FUNCTIONintGetSubMenu(ulonghMenu,intpos)LIBRARY"USER32.DLL"
FUNCTIONulongGetMenu(ulonghWindow)LIBRARY"USER32.DLL"
FUNCTIONbooleanModifyMenu(ulonghMnu,ulonguPosition,ulonguFlags,&
ulonguIDNewItem,longlpNewI)aliasforModifyMenuALIBRARY"USER32.DLL"
open事务中:
longll_MainHandle
longll_SubMenuHandle
integerli_MenuItemID
longll_X
longll_Y
longll_BitmapNew
longll_BitmapOpen
longll_BitmapSave
longll_BitmapExit
//获得菜单句柄
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)
感乐趣的,还不快尝尝。
既能够作为一个单独的应用程序应用在客户端服务器网络环境中,也能够作为一个库而嵌入到其他的软件中。 |
|