|
導讀數據庫,簡而言之可視為電子化的文件柜——存儲電子文件的處所,用戶可以對文件中的數據進行新增、截取、更新、刪除等操作。所謂“數據庫”是以一定方式儲存在一起、能與多個用戶共享、具有盡可能小的冗余度、與應... 數據庫,簡而言之可視為電子化的文件柜——存儲電子文件的處所,用戶可以對文件中的數據進行新增、截取、更新、刪除等操作。所謂“數據庫”是以一定方式儲存在一起、能與多個用戶共享、具有盡可能小的冗余度、與應用程序彼此獨立的數據集合。 ******************************************************* 實用環境:pb6.5\pb70\pb80\pb90 功 能:位圖菜單的制作 方 法:如下 ******************************************************* 第一步,首先要建立一個menu對象,命名為:m_bitmap。設計格式有 一個主菜單 File,下面有4個子菜單new\open\save\exit,如下: ----File----- -new -open -save -exit 第二步,找4個位圖文件,放到exe所在的目錄下,命名為:new.bmp\open.bmp\save.bmp\exit.bmp 第三步,編代碼 主窗體w_main,窗體類型main,加入主菜單m_menu。 實例變量聲明: //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 全局外部函數引入API: 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" 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" 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 //取得菜單句柄 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) 全新的路由器不僅讓你更穩定快速地連接無線網絡,更可以讓家中的智能設備連接在一起。 |
溫馨提示:喜歡本站的話,請收藏一下本站!