有关菜单的API 2.13.1 CheckMenuRadlol 函数功能:该函数校核一个指定的菜单项并使其成为一个圆按钮项。同时不校核相关组里的其他菜单项并清除这些项的国按钮的类型标志。 函数原型:BOOL CheckMenuRadioltem(HMEN hMENU,UINT idFirst,UINT idLast,UINT uFlags); 参数: hMenu:包含一组菜单项的菜单的句柄。 idFirst:菜单组里第一个菜单项的标识符或位置。 idLast:菜单组里最后一个菜单项的标识符或位置。 IdCheck:要选取的菜单项的标识符或位置。 uFlag:指定idFirst,idLast,idCheck含义的值。如果此参数为MF_BYCOMMAND,则其他参数指定菜单项标识符。如果此参数为MF_BYPOSITION,则其他参数指定菜单项位置。 返回值:如果函数调用成功,返回值非零。如果函数调用失败,返回值为零。若想获得更多的错误信息,请调用GetLastError函数。 备注:CheckMenuRadioltem设置了MFT_RADIOCHECK类型标志,并为由idCheck指定的项设置 MFS_CHECKED状态,同时,清除组里所有其他项目的上述两个标志。被选取的项用项目目标表示,而不是用复选标记目标。要得到更多的关于菜单项类型和状态标志的信息,参看MENUITEMINFO结构。 速查:Windows NT:3.1及以上版本;Windows:95及以上版本;Windows CE:1.0及以上 版本;头文件;winuser.h;输入库:user32.lib。 2.13.2 CreateMenu 函数功能:该函数创建一个菜单。此菜单最初是空的,但可用函数InserMenultem, AppendMenu,和lnsertMenu来填入菜单项。 函数原型:HMENU CreateMenu(VOID) 参数:无。 返回值:如果函数调用成功,返回值是新创建菜单的句柄。如果函数调用失败,返回值是NULL。若想获得更多的错误信息,请调用GetLastError函数。 备注:与被分配给一个窗口的菜单相联系的资源会被自动释放。如果此菜单未被分配给一个 窗口,应用程序必须在关闭之前释放与菜单相连的资源。应用程序通过调用函数DestroyMenu来释放菜单资源。 Windows 95环境下,系统可支持最多16,364个菜单句柄。 速查:Windows NT:3.1及以上版本;Windows:95及以上版本;Windows CE:1.0及以上 版本;头文件:winuser.h;输入库:user32.lib。 2.13.3 CreatePopupMenu 函数功能:该函数创建一个下拉式菜单、子菜单或快捷菜单。此菜单最初是空的,但可用函数InserMenultem来插入或追加菜单项。也可用函数InsertMenu来插人菜单项,用AppendMenu来追加菜单项。 函数原型:HMENU CreatePopupMenu(VOID) 参数:无。 返回值:如果函数调用成功,返回值是新创建菜单的句柄。如果函数调用失败,返回值是NULL。若想获得更多的错误信息,请调用GetLastError函数。 备注:一个应用程序可增加新菜单到已存在的菜单上,或者可以调用函数TrackPopupMenuEx或TrackPopupMenu来显示快捷菜单。 与被分配给一个窗口的菜单相联系的资源会被自动释放。如果此菜单未被分配给一个窗口,应用程序必须在关闭之前释放与菜单相连的资源。应用程序通过调用函数DestroyMenu来释放菜单资源。Windows95环境下,系统可支持最多16,364个菜单句柄。 速查:Windows NT:3.1及以上版本;Windows:95及以上版本;Windows cE:1.0及以上 版本:头文件:winuser.h;输入库:user32.lib。 2.13.4 DeleteMenu 函数功能:该函数从指定菜单里删除一个菜单项。如果此菜单项打开了一个菜单或子菜单,则此函数销毁该菜单或子菜单的句柄,并释放该菜单或子菜单使用的存储器。 函数原型:BOOL DelefeMenu(HMENU hMenu,UINT uPosition,UINT uFlags); 参数: hMenu:要被的修改菜单的句柄。 UPosition:指定将被删除的菜单项,按参数uFlagS确定的含义。 UFlags:确定参数UPosition加如何被解释。此参数可取下列值之一: MF_BYCOMMAND:表示uPosition给出菜单项的标识符。如果MF_BYCOMMAND和MF_BYPOSITION 都没被指定,则MF_BYCOMMAND为缺省的标志。 MF_BYPOSITION:表示uPosition给出菜单项基于零的相对位置。 返回值:如果函数调用成功,返回值非零;如果函数调用失败,返回值是零。若想获得更多的错误信息,请调用GetLastError函数。 备注:只要一个菜单被修改,无论它是否被显示在窗口里,应用程序都应调用DrawMenubar。 速查:Wihdows NT:3.1及以上版本;Windows:95及以上版本;Windows CE:1.0及以上 版本;头文件:Winuser.h;输入库:user32.lib。 2.13.5 DestroyMenu 函数动能:该函数销毁指定的菜单,并释放此菜单占用的存储器。 函数原型:BOOL DestroyMenu(HMENU hMenu); 参数: hMenu:要销毁的菜单的句柄。 返回值:如果函数调用成功,返回非零值;如果函数调用失败,返回值是零。若想获得更多的错误信息,请调用GetLastError函数。 备注:一个应用程序在关闭之前,必须调用函数DestroyMenu来销毁一个没被分配给窗口的菜单。分配给窗口的菜单,当应用程序关闭时,被自动销毁。 速查:Windows NT:3.1及以上版本;Windows:95及以上版本;Windows CE:1.0及以上版 本;头文件:winuser.h;输入库:user32.lib。 2.13.6 DrawMenuBar 函数功能:该函数重画指定菜单的菜单条。如果系统创建窗口以后菜单条被修改,则必须调用此函数来画修改了的菜单条。 函数原型:BOOL DrawMenuBar(HWND hWnd); 参数: hWnd:其菜单条需要被重画的窗口的句柄。 返回值:如果函数调用成功,返回非零值:如果函数调用失败,返回值是零。若想获得更多的错误信息,请调用GetLastError函数。 速查:Windows NT:及以上版本;Windows:95及以上版本;Windows:2.0及以上版本;头文件:winuser.h;输入库:user32.lib。 2.13.7 EnableMenultem 函数功能:该函数使指定的菜单项有效、无效或变灰。 函数原型:BOOL EnableMenutem(HMENU hMenu,UINT ulDEnablttem,UINT uEnable; 参数 hMenu:菜单句柄。 ulDEnableltem:指定将使其有效、无效或变灰的菜单项,按参数uEnable确定的含义。此参数可指定菜单条、菜单或子菜单里的菜单项。 uEnable:指定控制参数uIDEnableltem如何解释的标志,指示菜单项有效、无效或者变灰。此参数必须是MF_BYCOMMAND或MF_BYPOSITION,MF_ENABLED和MF_DISABLE或MF_GRAYED的 组合。 MF_BYCOMMAND:表明参数uIDEnableltem给出了菜单项的标识符。如果MF_BYCOMMAND和 MF_POSITION都没被指定,则MF_BYCOMMAND为缺省标志。 MF_BYPOSITION:表明参数uIDEnableltem给出了菜单项的以零为基准的相对位置。 MF_DISABLED:表明菜单项无效,但没变灰,因此不能被选择。 MF_ENABLED:表明菜单项有效,并从变灰的状态恢复,因此可被选择。 MF_GRAYED:表明菜单项无效并且变灰,因此不能被选择。 返回值:返回值指定菜单项的前一个状态(MF_DISABLED,MF_ENABLED或MF_GRAYED)。如果此菜单项不存在,则返回值是OXFFFFFFFF。 备注:一个应用程序必须用MF_BYPOSITION来指定正确的菜单句柄。如果菜单条的菜单句柄被指定,顶层菜单项(菜单条上的菜单项)将受到影响。若要根据位置来设置下拉菜单中的菜单项或子菜单的状态,应用程序指定下拉菜单或子菜单的句柄。 当应用程序指定MF_BYCOMMAND标志时,系统在由指定菜单句柄标识的菜单里选取那些打开了子菜单的菜单项。因此除非要复制菜单项,指定菜单条的句柄就足够了。 函数InsertMenu,InsertMenultem,LoadMenulndirect,ModifyMenu和SetMenultemlnfo也可设置菜单项的状态(有效、无效或变灰)。 Windows CE:Windows CE不支持参数uEnable取MF_DISABLED标志。 如果没有变灰,菜单项不能无效。要使菜单项无效,用MF_RAYED标志。 速查:Windows NT:3.1及以上版本;Windows:95的及以上版本;Windows CE:1.0及以上 版本;头文件:winuser.h;输入库:user32.lib。 2.13.8 GetMenu 函数功能:该函数取得分配给指定窗口的菜单的句柄。 函数原型:HMENU GetMenu(HWND hWnd); 参数: hWnd:其菜单句柄被取得的窗口的句柄。 返回值:返回值是菜单的句柄。如果给定的窗口没有菜单,则返回NULL。如果窗口是一个子窗口,返回值无定义。 速查:Windows NT:3.1及以上版本;Windows:95及以上版本;Windows CE:不支持;头文件:winuser.h;输入库:user32.lib。 2.13.9 GetMenuDefaultltem 函数功能:该函数确定指定菜单上的缺省项。 函数原型:UINT GetMenuDefaultltem(HMENY hMenu,UINT fByPos,UINT gmdiFlags); 参数: hMenu:获取缺省项的菜单的句柄。 fByPos:用于确定是取得菜单项的标识符还是位置的值。如果此参数值为FALSE,返回标识符,否则返回位置。 gmdiFlags:指定函数如何查找菜单项。此参数可取灵或多个下列值: GMDI_GOINTOPOPUPS:如果缺省项打开了子菜单,此函数在相应的子菜单里递归查找。如果子菜单没有缺省项,返回值表示打开了子菜单的项。缺省情况下,函数返回指定菜单的第一个缺省项,不管它是否打开了一个子菜单。 GMDI_USEDISABLED:指定函数返回一个缺省项,即使该项无效。缺省情况下,函数跳过无效或变灰的项。 返回值:如果函数调用成功,返回值是菜单项的标识符或位置;如果函数调用失败,返回值是C1。若想获得更多的错误信息,请调用GetLastError函数。 速查:Windows:4.0及以上版本;Windows:95及以上版本:Windows CE:不支持;头文件: winuser.h;输入库:user32.lib。 2.13.10 GetMenultemlD 函数功能:该函数确定指定菜单里的菜单项个数。 函数原型:int GetMenultemCount(HMENU hMenu); 参数: hMenu:被检查的菜单的句柄。 返回值:如果函数调用成功,返回值是菜单里指定的菜单项数;如果函数调用失败,返回值是C1。若想获得更多的错误信息,请调用函数GetLastError函数。 速查:Windows NT:3.1及以上版本;Windows:95及以上版本;Windows CE:不支持;头 文件:winuser.h;输入库:user32.fib。
[此贴子已经被作者于2005-8-7 12:11:17编辑过]
|
|
|
|