SimpleWindow
|
菜单类型的基类 更多...
#include <MenuBase.h>
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) |
移除当前菜单中的某个子项 | |
MenuItem * | GetMenuItem (int id) |
通过id获取菜单项 | |
MenuItem * | GetMenuItem (std::initializer_list< int > path) |
通过索引来获取菜单项 | |
MenuItem * | GetMenuItem (std::initializer_list< std::wstring > path) |
通过菜单项的text来获取菜单项 | |
MenuItem * | GetMenuItemByTag (uint64_t tag) |
通过tag值获取菜单项 | |
MenuItem * | GetParent (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 | |
MenuBase & | operator= (const MenuBase &)=delete |
MenuBase & | operator= (MenuBase &&)=delete |
virtual int | IndexToID (int index)=0 |
根据索引获取ID | |
virtual int | IDToIndex (int id)=0 |
根据ID获取索引 | |
菜单类型的基类
void sw::MenuBase::AddItem | ( | const MenuItem & | item | ) |
添加新的菜单项到菜单
item | 新的菜单项 |
像当前菜单中的某个菜单项添加新的子项
item | 要添加子项的菜单项,当该项原本不含有子项时将会调用Update更新整个菜单 |
subItem | 要添加的子菜单项 |
bool sw::MenuBase::GetChecked | ( | MenuItem & | item, |
bool & | out ) |
获取一个值,表示菜单项是否选中
item | 要获取的菜单项 |
out | 输出值 |
bool sw::MenuBase::GetEnabled | ( | MenuItem & | item, |
bool & | out ) |
获取一个值,表示菜单项是否可用
item | 要获取的菜单项 |
out | 输出值 |
MenuItem * sw::MenuBase::GetMenuItem | ( | int | id | ) |
通过id获取菜单项
id | 要获取菜单项的id |
MenuItem * sw::MenuBase::GetMenuItem | ( | std::initializer_list< int > | path | ) |
通过索引来获取菜单项
path | 要找项所在下索引 |
MenuItem * sw::MenuBase::GetMenuItem | ( | std::initializer_list< std::wstring > | path | ) |
通过菜单项的text来获取菜单项
path | 每层要找的text |
MenuItem * sw::MenuBase::GetMenuItemByTag | ( | uint64_t | tag | ) |
通过tag值获取菜单项
tag | 指定的tag |
获取当前菜单中指定菜单项的直接父菜单项
item | 要查询的子菜单项 |
|
protectedpure virtual |
|
protectedpure virtual |
bool sw::MenuBase::RemoveItem | ( | MenuItem & | item | ) |
移除当前菜单中的某个子项
item | 要移除的菜单项 |
bool sw::MenuBase::SetBitmap | ( | MenuItem & | item, |
HBITMAP | hBitmap ) |
设置菜单项要显示的位图
item | 要修改的菜单项 |
hBitmap | 要设置的位图句柄 |
bool sw::MenuBase::SetCheckBitmap | ( | MenuItem & | item, |
HBITMAP | hBmpUnchecked, | ||
HBITMAP | hBmpChecked ) |
设置菜单不同选中状态下显示的位图
item | 要修改的菜单项 |
hBmpUnchecked | 未选中时显示的位图 |
hBmpChecked | 选中时显示的位图 |
bool sw::MenuBase::SetChecked | ( | MenuItem & | item, |
bool | value ) |
设置菜单项是否选中
item | 要修改的菜单项 |
value | 设置的值 |
bool sw::MenuBase::SetEnabled | ( | MenuItem & | item, |
bool | value ) |
设置菜单项是否可用
item | 要修改的菜单项 |
value | 设置的值 |
重新设置当前菜单中某个菜单项的子项
item | 要修改的菜单项,当该项原先不含有子项时将会调用Update更新整个菜单 |
subItems | 新的子项列表 |
bool sw::MenuBase::SetText | ( | MenuItem & | item, |
const std::wstring & | value ) |
设置菜单项文本
item | 要修改的菜单项 |
value | 设置的值 |