BBS水木清华站∶精华区
发信人: Kongming (没日没夜...), 信区: Linux
标 题: MiniGUI 的特色(6)
发信站: BBS 水木清华站 (Fri Jul 2 16:18:14 1999)
六、菜单
MiniGUI 中的菜单接口和 Win32 90% 兼容,但有少许差别。在外观上,
MiniGUI 可为弹出式菜单定义一个菜单标题,可支持空的弹出式菜单;在
内部结构和概念上也有一些小的差别。主要区别在于子菜单的定义上,子
菜单即可以是一个完整的弹出式菜单,也可以是一个没有弹出式菜单标题
的子菜单。从另一个角度讲,弹出式菜单是由标题以及一系列子菜单项组
成的。
MiniGUI 提供用来操作菜单的函数有:
HMENU GUIAPI CreateMenu ();
HMENU GUIAPI CreatePopupMenu ( PMENUITEMINFO pmii);
HMENU GUIAPI CreateSystemMenu ();
int GUIAPI InsertMenuItem (HMENU hmnu, int item,
BOOL flag, PMENUITEMINFO pmii);
int GUIAPI RemoveMenu (HMENU hmnu, int item, UINT flags);
int GUIAPI DeleteMenu (HMENU hmnu, int item, UINT flags);
int GUIAPI DestroyMenu (HMENU hmnu);
上述这些函数用来操作菜单数据,可实现菜单的创建、销毁,菜单项的
添加、删除等功能。
int GUIAPI IsMenu (HMENU hmnu);
该函数可用来判断给定句柄是否为菜单句柄。
HMENU GUIAPI SetMenu (HWND hwnd, HMENU hmnu);
HMENU GUIAPI GetMenu (HWND hwnd);
上述函数用于获取或设置主窗口的菜单。
void GUIAPI DrawMenuBar (HWND hwnd);
int GUIAPI TrackMenuBar (HWND hwnd, int pos);
int GUIAPI TrackPopupMenu (HMENU hmnu, UINT uFlags, int x, int y,
HWND hwnd;
HMENU GUIAPI GetMenuBarItemRect (HWND hwnd, int pos, RECT* prc);
BOOL GUIAPI HiliteMenuBarItem (HWND hwnd, int pos, UINT flag);
上述函数用于显示并跟踪菜单。
int GUIAPI GetMenuItemCount (HMENU hmnu);
int GUIAPI GetMenuItemID (HMENU hmnu, int pos);
int GUIAPI GetMenuItemInfo (HMENU hmnu, int item,
BOOL flag, PMENUITEMINFO pmii);
int GUIAPI GetMenuItemRect (HWND hwnd, HMENU hmnu, int item, PRECT prc);
HMENU GUIAPI GetPopupSubMenu (HMENU hpppmnu);
HMENU GUIAPI GetSubMenu (HMENU hmnu, int pos);
int GUIAPI GetSystemMenu (HWND hwnd, BOOL flag);
UINT GUIAPI EnableMenuItem (HMENU hmnu, int item, UINT flags);
int GUIAPI CheckMenuRadioItem (HMENU hmnu, int first, int last,
int checkitem, UINT flags);
int GUIAPI SetMenuItemBitmaps (HMENU hmnu, int item, UINT flags,
PBITMAP hBmpUnchecked, PBITMAP hBmpChecked);
int GUIAPI SetMenuItemInfo (HMENU hmnu, int item,
BOOL flag, PMENUITEMINFO pmii);
上述这些函数用于获取或设置菜单属性。
--
※ 来源:·BBS 水木清华站 bbs.net.tsinghua.edu.cn·[FROM: 166.111.53.193]
BBS水木清华站∶精华区