|
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 (HMENU hMenu) |
| 通过句柄获取菜单项 | |
| 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 | ( | HMENU | hMenu | ) |
通过句柄获取菜单项
| hMenu | 要获取菜单项的菜单句柄 |
| 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 | 设置的值 |