![]() |
CMGDK r49-rc2
|
菜单项 更多...
#include <menuitem.h>
公有成员 | |
DefEvent (void, OnDraw,(GUIObject *)) | |
绘制事件 | |
DefEvent (void, OnClick,(GUIObject *)) | |
菜单点击事件 | |
DefEvent (void, OnMeasureItem,(GUIObject *, float &, float &)) | |
取得菜单项尺寸 | |
DefEvent (void, OnPopupMenu,(GUIObject *, GUIObject *)) | |
弹出菜单 | |
DefEvent (void, OnClose,(GUIObject *, GUIObject *)) | |
关闭菜单 | |
MenuItem (int=-1) | |
本类构造函数 | |
MenuItem (const wchar_t *name, int=-1) | |
本类构造函数 | |
virtual | ~MenuItem () |
本类析构函数 | |
virtual void | Draw () |
对象绘制函数 | |
virtual GUIObject * | Popup (ObjectControl *, float, float) |
弹出菜单 | |
GUIObject * | Popup (ObjectControl *) |
弹出菜单,在当前鼠标位置 | |
virtual void | Close () |
关闭菜单 | |
virtual void | Measure (float &, float &) |
取菜单项尺寸 | |
virtual void | Draw (float, float, float, const Color4f &) |
绘制菜单项 | |
MenuItem * | Find (const wchar_t *) |
根据名称查找菜单项 | |
MenuItem * | CreateRadio (int, const wchar_t *name=NULL) |
创建收音机按钮性质子菜单并设置点击事件 | |
MenuItem * | Create (const wchar_t *name=NULL) |
创建子菜单并设置点击事件 | |
MenuItem * | CreateRadio (int, const wchar_t *name, MenuItemClickPROC) |
创建收音机按钮性质子菜单并设置点击事件 | |
MenuItem * | Create (const wchar_t *name, MenuItemClickPROC) |
创建子菜单并设置点击事件 | |
MenuItem * | CreateCheck (const wchar_t *name, bool *) |
创建勾选项子菜单,并绑定指定变量 | |
void | Clear () |
清除所有子菜单 | |
公有属性 | |
PropertyString | Caption |
菜单标题虚拟变量 | |
ThemeColor | Color |
颜色 | |
bool | Visible |
是否显示 | |
Property< int > | Index |
取当前菜单的索引 | |
ObjectList< MenuItem > | SubMenu |
子菜单 | |
PropertyObject< MenuPage > | SubMenuPage |
子菜单页 |
菜单项
菜单项是用来组成一个菜单的基本单元,它本身不能直接显示出来,需要由其它控件来调用显示.
它只负责显示它本身,如果它的下面有子菜单,它会自动创建PopupMenu来显示.而新建的PopupMenu并不在于其下,而是位于整个根GUIControl下.
另外: 菜单项上的快捷键会自动生效,不需要开发者另外设置。同时当菜单被设置为失效或不显示时,快捷键也会自动失效。
hgl::gui::MenuItem::MenuItem | ( | int | t = -1 | ) |
本类构造函数
hgl::gui::MenuItem::MenuItem | ( | const wchar_t * | name, |
int | t = -1 |
||
) |
本类构造函数
hgl::gui::MenuItem::~MenuItem | ( | ) | [virtual] |
本类析构函数
void hgl::gui::MenuItem::Clear | ( | ) | [inline] |
清除所有子菜单
void hgl::gui::MenuItem::Close | ( | ) | [virtual] |
关闭菜单
MenuItem * hgl::gui::MenuItem::Create | ( | const wchar_t * | name, |
MenuItemClickPROC | ClickFunc | ||
) |
创建子菜单并设置点击事件
创建子菜单,并设置菜单名称和点击事件
name | 菜单名称 |
ClickFunc | 点击事件函数指针 |
MenuItem * hgl::gui::MenuItem::Create | ( | const wchar_t * | name = NULL | ) |
创建子菜单并设置点击事件
创建子菜单,并设置菜单名称和点击事件
name | 菜单名称 |
MenuItem * hgl::gui::MenuItem::CreateCheck | ( | const wchar_t * | name, |
bool * | value | ||
) |
创建勾选项子菜单,并绑定指定变量
创建子菜单,并设置菜单名称。绑定一个bool型变量为勾选项
name | 菜单名称 |
value | 要绑定的变量 |
创建收音机按钮性质子菜单并设置点击事件
创建收音机按钮性质子菜单,并设置菜单名称和点击事件
这种子菜单,会在同组内的进行排斥,即只有一个菜单项可以出现勾选
team | 组编号 |
name | 菜单名称 |
MenuItem * hgl::gui::MenuItem::CreateRadio | ( | int | team, |
const wchar_t * | name, | ||
MenuItemClickPROC | ClickFunc | ||
) |
创建收音机按钮性质子菜单并设置点击事件
创建收音机按钮性质子菜单,并设置菜单名称和点击事件
这种子菜单,会在同组内的进行排斥,即只有一个菜单项可以出现勾选
team | 组编号 |
name | 菜单名称 |
ClickFunc | 点击事件函数指针 |
hgl::gui::MenuItem::DefEvent | ( | void | , |
OnClick | , | ||
(GUIObject *) | |||
) |
菜单点击事件
hgl::gui::MenuItem::DefEvent | ( | void | , |
OnDraw | , | ||
(GUIObject *) | |||
) |
绘制事件
hgl::gui::MenuItem::DefEvent | ( | void | , |
OnMeasureItem | , | ||
(GUIObject *, float &, float &) | |||
) |
取得菜单项尺寸
void hgl::gui::MenuItem::Draw | ( | float | x, |
float | y, | ||
float | w, | ||
const Color4f & | draw_color | ||
) | [virtual] |
绘制菜单项
绘制当前菜单项
x,y | 绘制坐标 |
w | 宽度限制 |
draw_color | 绘制颜色 |
void hgl::gui::MenuItem::Draw | ( | ) | [virtual] |
MenuItem * hgl::gui::MenuItem::Find | ( | const wchar_t * | name | ) |
根据名称查找菜单项
void hgl::gui::MenuItem::Measure | ( | float & | w, |
float & | h | ||
) | [virtual] |
取菜单项尺寸
取当前菜单项尺寸(单位:象素)
w | 菜单项宽度 |
h | 菜单项高度 |
GUIObject * hgl::gui::MenuItem::Popup | ( | ObjectControl * | form | ) |
弹出菜单,在当前鼠标位置
GUIObject * hgl::gui::MenuItem::Popup | ( | ObjectControl * | form, |
float | x, | ||
float | y | ||
) | [virtual] |
取当前菜单的索引
是否显示