SimpleWindow
载入中...
搜索中...
未找到
sw::MenuBase类 参考abstract

菜单类型的基类 更多...

#include <MenuBase.h>

类 sw::MenuBase 继承关系图:
sw::ContextMenu sw::Menu

Public 成员函数

virtual ~MenuBase ()
 释放资源
 
HMENU GetHandle ()
 获取菜单句柄
 
void Update ()
 更新菜单,该操作会导致菜单项的Enabled、Checked等恢复到初始状态
 
void SetItems (std::initializer_list< MenuItem > items)
 初始化菜单并添加菜单项
 
bool SetSubItems (MenuItem &item, std::initializer_list< MenuItem > subItems)
 重新设置当前菜单中某个菜单项的子项
 
void AddItem (const MenuItem &item)
 添加新的菜单项到菜单
 
bool AddSubItem (MenuItem &item, const MenuItem &subItem)
 像当前菜单中的某个菜单项添加新的子项
 
bool RemoveItem (MenuItem &item)
 移除当前菜单中的某个子项
 
MenuItemGetMenuItem (int id)
 通过id获取菜单项
 
MenuItemGetMenuItem (std::initializer_list< int > path)
 通过索引来获取菜单项
 
MenuItemGetMenuItem (std::initializer_list< std::wstring > path)
 通过菜单项的text来获取菜单项
 
MenuItemGetMenuItemByTag (uint64_t tag)
 通过tag值获取菜单项
 
MenuItemGetParent (MenuItem &item)
 获取当前菜单中指定菜单项的直接父菜单项
 
bool GetEnabled (MenuItem &item, bool &out)
 获取一个值,表示菜单项是否可用
 
bool SetEnabled (MenuItem &item, bool value)
 设置菜单项是否可用
 
bool GetChecked (MenuItem &item, bool &out)
 获取一个值,表示菜单项是否选中
 
bool SetChecked (MenuItem &item, bool value)
 设置菜单项是否选中
 
bool SetText (MenuItem &item, const std::wstring &value)
 设置菜单项文本
 
bool SetBitmap (MenuItem &item, HBITMAP hBitmap)
 设置菜单项要显示的位图
 
bool SetCheckBitmap (MenuItem &item, HBITMAP hBmpUnchecked, HBITMAP hBmpChecked)
 设置菜单不同选中状态下显示的位图
 

Protected 成员函数

 MenuBase (HMENU hMenu)
 初始化菜单
 
 MenuBase (const MenuBase &)=delete
 
 MenuBase (MenuBase &&)=delete
 
MenuBaseoperator= (const MenuBase &)=delete
 
MenuBaseoperator= (MenuBase &&)=delete
 
virtual int IndexToID (int index)=0
 根据索引获取ID
 
virtual int IDToIndex (int id)=0
 根据ID获取索引
 

详细描述

菜单类型的基类

成员函数说明

◆ AddItem()

void sw::MenuBase::AddItem ( const MenuItem & item)

添加新的菜单项到菜单

参数
item新的菜单项

◆ AddSubItem()

bool sw::MenuBase::AddSubItem ( MenuItem & item,
const MenuItem & subItem )

像当前菜单中的某个菜单项添加新的子项

参数
item要添加子项的菜单项,当该项原本不含有子项时将会调用Update更新整个菜单
subItem要添加的子菜单项
返回
返回一个bool值,表示操作是否成功

◆ GetChecked()

bool sw::MenuBase::GetChecked ( MenuItem & item,
bool & out )

获取一个值,表示菜单项是否选中

参数
item要获取的菜单项
out输出值
返回
函数是否成功

◆ GetEnabled()

bool sw::MenuBase::GetEnabled ( MenuItem & item,
bool & out )

获取一个值,表示菜单项是否可用

参数
item要获取的菜单项
out输出值
返回
函数是否成功

◆ GetMenuItem() [1/3]

MenuItem * sw::MenuBase::GetMenuItem ( int id)

通过id获取菜单项

参数
id要获取菜单项的id
返回
若函数成功则返回菜单项的指针,否则返回nullptr

◆ GetMenuItem() [2/3]

MenuItem * sw::MenuBase::GetMenuItem ( std::initializer_list< int > path)

通过索引来获取菜单项

参数
path要找项所在下索引
返回
若函数成功则返回菜单项的指针,否则返回nullptr

◆ GetMenuItem() [3/3]

MenuItem * sw::MenuBase::GetMenuItem ( std::initializer_list< std::wstring > path)

通过菜单项的text来获取菜单项

参数
path每层要找的text
返回
若函数成功则返回菜单项的指针,否则返回nullptr

◆ GetMenuItemByTag()

MenuItem * sw::MenuBase::GetMenuItemByTag ( uint64_t tag)

通过tag值获取菜单项

参数
tag指定的tag
返回
若函数成功则返回菜单项的指针,否则返回nullptr

◆ GetParent()

MenuItem * sw::MenuBase::GetParent ( MenuItem & item)

获取当前菜单中指定菜单项的直接父菜单项

参数
item要查询的子菜单项
返回
若函数成功则返回指向直接父菜单项的指针,否则返回nullptr

◆ IDToIndex()

virtual int sw::MenuBase::IDToIndex ( int id)
protectedpure virtual

根据ID获取索引

参数
id菜单项的ID
返回
索引

sw::ContextMenu , 以及 sw::Menu 内被实现.

◆ IndexToID()

virtual int sw::MenuBase::IndexToID ( int index)
protectedpure virtual

根据索引获取ID

参数
index索引
返回
菜单项的ID

sw::ContextMenu , 以及 sw::Menu 内被实现.

◆ RemoveItem()

bool sw::MenuBase::RemoveItem ( MenuItem & item)

移除当前菜单中的某个子项

参数
item要移除的菜单项
返回
返回一个bool值,表示操作是否成功

◆ SetBitmap()

bool sw::MenuBase::SetBitmap ( MenuItem & item,
HBITMAP hBitmap )

设置菜单项要显示的位图

参数
item要修改的菜单项
hBitmap要设置的位图句柄
返回
修改是否成功

◆ SetCheckBitmap()

bool sw::MenuBase::SetCheckBitmap ( MenuItem & item,
HBITMAP hBmpUnchecked,
HBITMAP hBmpChecked )

设置菜单不同选中状态下显示的位图

参数
item要修改的菜单项
hBmpUnchecked未选中时显示的位图
hBmpChecked选中时显示的位图
返回
修改是否成功

◆ SetChecked()

bool sw::MenuBase::SetChecked ( MenuItem & item,
bool value )

设置菜单项是否选中

参数
item要修改的菜单项
value设置的值
返回
修改是否成功

◆ SetEnabled()

bool sw::MenuBase::SetEnabled ( MenuItem & item,
bool value )

设置菜单项是否可用

参数
item要修改的菜单项
value设置的值
返回
修改是否成功

◆ SetSubItems()

bool sw::MenuBase::SetSubItems ( MenuItem & item,
std::initializer_list< MenuItem > subItems )

重新设置当前菜单中某个菜单项的子项

参数
item要修改的菜单项,当该项原先不含有子项时将会调用Update更新整个菜单
subItems新的子项列表
返回
返回一个bool值,表示操作是否成功

◆ SetText()

bool sw::MenuBase::SetText ( MenuItem & item,
const std::wstring & value )

设置菜单项文本

参数
item要修改的菜单项
value设置的值
返回
修改是否成功

该类的文档由以下文件生成: