MzGridMenu类参考
弹出表格式菜单
更多...
#include <MzGridMenu.h>
继承自UiWin。
所有成员的列表。
公有成员 |
BOOL | AppendMenuItem (UINT uIDNewItem, LPCTSTR lpszItem, ImagingHelper *pImage=NULL, ImagingHelper *pImagePressed=NULL) |
| 添加一个按钮菜单项,正在运行时不能添加按钮菜单项!!!
|
virtual INT | CalcContentHeight (void) |
| 计算(返回)控件的内容总高度
|
BOOL | EnableMenuItem (UINT uIDItem, BOOL bEnabled) |
| 指定菜单项是否处于可用状态
|
BOOL | EndGridMenu (void) |
| (窗口方法)结束GridMenu弹出窗口
|
BOOL | GetBGRect (RECT *prcBG) |
| (窗口方法)取得背景的位置矩形,如果使用窗口形式弹出则为在屏幕上的位置,如果使用控件形式则为在附属窗口上的位置
|
BOOL | IsContinue (void) |
| (窗口方法)判断弹出窗口是否在运行中
|
BOOL | IsMenuItemEnabled (UINT uIdItem) |
| 取得当前菜单项的可用状态
|
BOOL | IsTextOnly (void) |
| 判断当前菜单是否是只显示文本的状态
|
BOOL | ModifyMenuItem (UINT uIDItem, LPCTSTR lpszItem, ImagingHelper *pImage=NULL, ImagingHelper *pImagePressed=NULL) |
| 修改按钮菜单项
|
| MzGridMenu (void) |
BOOL | RemoveAllMenuItem (void) |
| 移除所有已添加的按钮项,正在运行时不能移除按钮项!!!
|
BOOL | SetBGImage (HBITMAP hBitmap) |
| (窗口方法)设置当前的背景图片,如果弹出窗口背景图片已改变的话
|
BOOL | SetBorderLine (UINT uFlag) |
virtual void | SetPos (int x, int y, int w, int h, UINT flags=0) |
| 设置控件的位置
|
void | SetTextOnly (BOOL bTextOnly=FALSE) |
| 设置整个菜单是否只显示文本而不显示图片
|
BOOL | TrackGridMenuDialog (HWND hWnd, INT nBottomHeight, BOOL bEndSelect=TRUE, UINT uAnimTypeShow=MZ_ANIMTYPE_NONE, UINT uAnimTypeHide=MZ_ANIMTYPE_NONE) |
| (窗口方法)使用对话框方式弹出GridMenu,如果用户选择了其中一个菜单,则会发生MZ_WM_COMMAND消息给hWnd窗口。
|
virtual | ~MzGridMenu (void) |
保护成员 |
virtual void | PaintWin (HDC hdcDst, RECT *prcWin, RECT *prcUpdate) |
| 绘制控件
|
详细描述
弹出表格式菜单
可以参考一下代码使用: 弹出ButtonBox m_Box.RemoveAllButton(); m_Box.AppendMenuItem(MZ_IDC_BTN_MENU, L"软件工程师", NULL, NULL); m_Box.AppendMenuItem(102, L"测试工程师", NULL, NULL); m_Box.AppendMenuItem(103, L"项目经理", NULL, NULL); m_Box.TrackGridMenuDialog(m_hWnd, 180); 然后在重载void OnMzCommand(WPARAM wParam, LPARAM lParam)方法,处理Command消息
如果想在点击主窗口时隐藏弹出窗口可以重载void OnLButtonDown(UINT fwKeys, int xPos, int yPos)方法, 并在中间添加一句m_Box.EndGridMenu();就可以了
注意:MzGridMenu运行时MzGridMenu变量必须有效!
构造及析构函数文档
MzGridMenu::MzGridMenu |
( |
void |
|
) |
|
virtual MzGridMenu::~MzGridMenu |
( |
void |
|
) |
[virtual] |
成员函数文档
BOOL MzGridMenu::AppendMenuItem |
( |
UINT |
uIDNewItem, |
|
|
LPCTSTR |
lpszItem, |
|
|
ImagingHelper * |
pImage = NULL , |
|
|
ImagingHelper * |
pImagePressed = NULL | |
|
) |
| | |
添加一个按钮菜单项,正在运行时不能添加按钮菜单项!!!
- 参数:
-
| uIDNewItem | -- 按钮项的ID值,将用于Command消息中 |
| lpszItem | -- 菜单项的显示文本 |
| pImage | -- 菜单项的图片 |
| pImagePressed | -- 菜单项按下时的图片 |
- 返回:
- 返回TRUE表示添加成功
virtual INT MzGridMenu::CalcContentHeight |
( |
void |
|
) |
[virtual] |
BOOL MzGridMenu::EnableMenuItem |
( |
UINT |
uIDItem, |
|
|
BOOL |
bEnabled | |
|
) |
| | |
指定菜单项是否处于可用状态
- 参数:
-
| uIDItem | -- 已添加的菜单项的ID |
| bEnabled | -- 菜单项是否处于可用状态 |
- 返回:
- 返回TRUE表示成功设定菜单项的状态
BOOL MzGridMenu::EndGridMenu |
( |
void |
|
) |
|
(窗口方法)结束GridMenu弹出窗口
- 返回:
- 返回TRUE表示隐藏成功
BOOL MzGridMenu::GetBGRect |
( |
RECT * |
prcBG |
) |
|
(窗口方法)取得背景的位置矩形,如果使用窗口形式弹出则为在屏幕上的位置,如果使用控件形式则为在附属窗口上的位置
- 参数:
-
- 返回:
- 返回TRUE表示成功取得矩形位置
BOOL MzGridMenu::IsContinue |
( |
void |
|
) |
|
(窗口方法)判断弹出窗口是否在运行中
- 返回:
- 返回TRUE表示正在运行
BOOL MzGridMenu::IsMenuItemEnabled |
( |
UINT |
uIdItem |
) |
|
取得当前菜单项的可用状态
- 参数:
-
- 返回:
- 返回TRUE菜单项当前可用
BOOL MzGridMenu::IsTextOnly |
( |
void |
|
) |
|
判断当前菜单是否是只显示文本的状态
- 返回:
- 返回TRUE表示只显示文本而不显示图片
BOOL MzGridMenu::ModifyMenuItem |
( |
UINT |
uIDItem, |
|
|
LPCTSTR |
lpszItem, |
|
|
ImagingHelper * |
pImage = NULL , |
|
|
ImagingHelper * |
pImagePressed = NULL | |
|
) |
| | |
修改按钮菜单项
- 参数:
-
| uIDItem | -- 按钮项的ID值,将用于Command消息中 |
| lpszItem | -- 菜单项的显示文本 |
| pImage | -- 菜单项的图片 |
| pImagePressed | -- 菜单项按下时的图片 |
- 返回:
- 返回TRUE表示添加成功
virtual void MzGridMenu::PaintWin |
( |
HDC |
hdcDst, |
|
|
RECT * |
prcWin, |
|
|
RECT * |
prcUpdate | |
|
) |
| | [protected, virtual] |
绘制控件
重载此函数可以自定义控件的绘制
- 参数:
-
| hdcDst | 目的DC |
| prcWin | 控件所在区域(以HDC的左上角为原点) |
| prcUpdate | 需要更新的区域(以HDC的左上角为原点) |
重载UiWin。
BOOL MzGridMenu::RemoveAllMenuItem |
( |
void |
|
) |
|
移除所有已添加的按钮项,正在运行时不能移除按钮项!!!
- 返回:
- 返回TRUE表示移除成功
BOOL MzGridMenu::SetBGImage |
( |
HBITMAP |
hBitmap |
) |
|
(窗口方法)设置当前的背景图片,如果弹出窗口背景图片已改变的话
- 参数:
-
| hBitmap | -- 背景图片的句柄,类内部自动调用DeleteObject删除图片 |
- 返回:
- 返回TRUE表示设置成功
BOOL MzGridMenu::SetBorderLine |
( |
UINT |
uFlag |
) |
|
virtual void MzGridMenu::SetPos |
( |
int |
x, |
|
|
int |
y, |
|
|
int |
w, |
|
|
int |
h, |
|
|
UINT |
flags = 0 | |
|
) |
| | [virtual] |
设置控件的位置
- 参数:
-
| x | X 坐标 |
| y | Y 坐标 |
| w | 宽 |
| h | 高 |
| flags | 可以是以下值的合并:0,SP_NOSIZE, SP_NOMOVE |
重载UiWin。
void MzGridMenu::SetTextOnly |
( |
BOOL |
bTextOnly = FALSE |
) |
|
设置整个菜单是否只显示文本而不显示图片
- 参数:
-
| bTextOnly | -- TRUE表示只显示文本而不显示图片 |
BOOL MzGridMenu::TrackGridMenuDialog |
( |
HWND |
hWnd, |
|
|
INT |
nBottomHeight, |
|
|
BOOL |
bEndSelect = TRUE , |
|
|
UINT |
uAnimTypeShow = MZ_ANIMTYPE_NONE , |
|
|
UINT |
uAnimTypeHide = MZ_ANIMTYPE_NONE | |
|
) |
| | |
(窗口方法)使用对话框方式弹出GridMenu,如果用户选择了其中一个菜单,则会发生MZ_WM_COMMAND消息给hWnd窗口。
- 参数:
-
| hWnd | -- 弹出窗口的附属窗口 |
| prcMenuOfScreen | -- 弹出窗口的可显示区域的屏幕坐标。这个区域只是一个最大范围,运行时获得GridMenu的精确位置可以使用GetBGRect方法。 |
| bEndSelect | -- 当用户点击了一个菜单项是否自动结束窗口 |
- 返回:
- 返回TRUE表示窗口成功弹出
该类的文档由以下文件生成: