soui 5.0.0.1
Soui5 Doc
 
Loading...
Searching...
No Matches
SMenu Class Reference

菜单类 More...

#include <SMenu.h>

Inheritance diagram for SMenu:
TObjRefImpl< IMenu > SMenuBarItem

Public Member Functions

 SMenu (const SMenu &src)
 复制构造函数
 
 SMenu (HMENU hMenu=0)
 构造函数
 
 ~SMenu (void)
 析构函数
 
BOOL Attach (HMENU hMenu) OVERRIDE
 附加菜单句柄
 
HMENU Detach () OVERRIDE
 分离菜单句柄
 
HMENU GetHMenu () SCONST OVERRIDE
 获取菜单句柄
 
BOOL LoadMenu (LPCTSTR resId) OVERRIDE
 加载菜单资源
 
BOOL LoadMenuU8 (LPCSTR resId) OVERRIDE
 加载菜单资源(UTF-8)
 
BOOL LoadMenu2 (IXmlNode *xmlMenu) OVERRIDE
 加载菜单资源(XML)
 
void SetIconSkin (ISkinObj *icons) OVERRIDE
 设置菜单图标皮肤
 
BOOL InsertMenu (UINT uPosition, UINT uFlags, UINT_PTR nIDNewItem, LPCTSTR strText, int iIcon=-1, HICON hIcon=0) OVERRIDE
 插入菜单项
 
BOOL AppendMenu (UINT uFlags, UINT_PTR uIDNewItem, LPCTSTR lpNewItem, int iIcon=-1, HICON hIcon=0) OVERRIDE
 追加菜单项
 
BOOL CheckMenuItem (UINT uIdCheckItem, UINT uCheck) OVERRIDE
 检查菜单项
 
BOOL CheckMenuRadioItem (UINT idFirst, UINT idLast, UINT idCheck, UINT uFlags) OVERRIDE
 检查菜单项(单选按钮)
 
BOOL DeleteMenu (UINT uPosition, UINT uFlags) OVERRIDE
 删除菜单项
 
UINT TrackPopupMenu (UINT uFlags, int x, int y, HWND hWnd, LPCRECT prcRect=NULL, int nScale=100) OVERRIDE
 跟踪弹出菜单
 
void DestroyMenu () OVERRIDE
 销毁菜单
 
BOOL ModifyMenuString (UINT uPosition, UINT uFlags, LPCTSTR lpItemString) OVERRIDE
 修改菜单项字符串
 
BOOL SetMenuUserData (UINT uPosition, UINT uFlags, ULONG_PTR ulUserData) OVERRIDE
 设置菜单项用户数据
 
ULONG_PTR GetMenuUserData (UINT uPosition, UINT uFlags) OVERRIDE
 获取菜单项用户数据
 
DWORD GetContextHelpId () SCONST OVERRIDE
 获取上下文帮助ID
 
void SetContextHelpId (DWORD dwId) OVERRIDE
 设置上下文帮助ID
 
HMENU GetSubMenu (int nPos) OVERRIDE
 获取子菜单
 
BOOL GetMenuString (UINT uPosition, UINT uFlags, IStringT *lpItemString) OVERRIDE
 获取菜单项字符串
 
- Public Member Functions inherited from TObjRefImpl< IMenu >
 TObjRefImpl ()
 Constructor that initializes the reference count to 1.
 
virtual ~TObjRefImpl ()
 Virtual destructor.
 
long AddRef () override
 Increments the reference count.
 
long Release () override
 Decrements the reference count and deletes the object if the count reaches zero.
 
void OnFinalRelease () override
 Deletes the object.
 

Public Attributes

HMENU m_hMenu
 

Protected Member Functions

void UpdateScale (int nScale)
 更新缩放比例
 
void BuildMenu (HMENU menuPopup, SXmlNode xmlNode)
 构建菜单
 
void InitMenuItemData (SMenuItemData *itemInfo, const SStringW &strText)
 初始化菜单项数据
 
void FreeMenuItemData (HMENU hMemu)
 释放菜单项数据
 
SMenuAttrGetMenuAttr (HMENU hMenu) const
 获取菜单属性对象指针
 
void SetMenuAttr (HMENU hMenu, SMenuAttr *pMenuAttr) const
 设置菜单属性对象指针
 

Protected Attributes

bool m_bAttached
 
SAutoRefPtr< ISkinObjm_icons
 
- Protected Attributes inherited from TObjRefImpl< IMenu >
LONG m_cRef
 Reference count.
 

Detailed Description

菜单类

Definition at line 399 of file SMenu.h.

Constructor & Destructor Documentation

◆ SMenu() [1/2]

SMenu::SMenu ( const SMenu & src)

复制构造函数

Parameters
src源菜单对象

Definition at line 286 of file SMenu.cpp.

◆ SMenu() [2/2]

SMenu::SMenu ( HMENU hMenu = 0)

构造函数

Parameters
hMenu菜单句柄(默认为0)

Definition at line 293 of file SMenu.cpp.

◆ ~SMenu()

SMenu::~SMenu ( void )

析构函数

Definition at line 303 of file SMenu.cpp.

Member Function Documentation

◆ AppendMenu()

BOOL SMenu::AppendMenu ( UINT uFlags,
UINT_PTR uIDNewItem,
LPCTSTR lpNewItem,
int iIcon = -1,
HICON hIcon = 0 )

追加菜单项

Parameters
uFlags标志
uIDNewItem新项ID
lpNewItem文本
iIcon图标索引(默认为-1)
hIcon图标句柄(默认为0)
Returns
成功返回TRUE,失败返回FALSE

Definition at line 558 of file SMenu.cpp.

◆ Attach()

BOOL SMenu::Attach ( HMENU hMenu)

附加菜单句柄

Parameters
hMenu菜单句柄
Returns
成功返回TRUE,失败返回FALSE

Definition at line 589 of file SMenu.cpp.

◆ BuildMenu()

void SMenu::BuildMenu ( HMENU menuPopup,
SXmlNode xmlNode )
protected

构建菜单

Parameters
menuPopup弹出菜单句柄
xmlNodeXML节点

Definition at line 434 of file SMenu.cpp.

◆ CheckMenuItem()

BOOL SMenu::CheckMenuItem ( UINT uIdCheckItem,
UINT uCheck )

检查菜单项

Parameters
uIdCheckItem要检查的菜单项ID
uCheck检查标志(例如,MF_CHECKED, MF_UNCHECKED)
Returns
成功返回TRUE,失败返回FALSE

Definition at line 563 of file SMenu.cpp.

◆ CheckMenuRadioItem()

BOOL SMenu::CheckMenuRadioItem ( UINT idFirst,
UINT idLast,
UINT idCheck,
UINT uFlags )

检查菜单项(单选按钮)

Parameters
idFirst第一个菜单项ID
idLast最后一个菜单项ID
idCheck要检查的菜单项ID
uFlags检查标志(例如,MF_BYCOMMAND, MF_BYPOSITION)
Returns
成功返回TRUE,失败返回FALSE

Definition at line 568 of file SMenu.cpp.

◆ DeleteMenu()

BOOL SMenu::DeleteMenu ( UINT uPosition,
UINT uFlags )

删除菜单项

Parameters
uPosition菜单项位置
uFlags删除标志(例如,MF_BYCOMMAND, MF_BYPOSITION)
Returns
成功返回TRUE,失败返回FALSE

Definition at line 544 of file SMenu.cpp.

◆ DestroyMenu()

void SMenu::DestroyMenu ( )

销毁菜单

Definition at line 521 of file SMenu.cpp.

◆ Detach()

HMENU SMenu::Detach ( )

分离菜单句柄

Returns
分离的菜单句柄

Definition at line 600 of file SMenu.cpp.

◆ FreeMenuItemData()

void SMenu::FreeMenuItemData ( HMENU hMemu)
protected

释放菜单项数据

Parameters
hMemu菜单句柄

Definition at line 499 of file SMenu.cpp.

◆ GetContextHelpId()

DWORD SMenu::GetContextHelpId ( )

获取上下文帮助ID

Returns
上下文帮助ID

Definition at line 639 of file SMenu.cpp.

◆ GetHMenu()

HMENU SMenu::GetHMenu ( )

获取菜单句柄

Returns
菜单句柄

Definition at line 634 of file SMenu.cpp.

◆ GetMenuAttr()

SMenuAttr * SMenu::GetMenuAttr ( HMENU hMenu) const
protected

获取菜单属性对象指针

Parameters
hMenu菜单句柄
Returns
菜单属性对象指针

Definition at line 573 of file SMenu.cpp.

◆ GetMenuString()

BOOL SMenu::GetMenuString ( UINT uPosition,
UINT uFlags,
IStringT * lpItemString )

获取菜单项字符串

Parameters
uPosition菜单项位置
uFlags标志(例如,MF_BYCOMMAND, MF_BYPOSITION)
lpItemString接收菜单项字符串的对象指针
Returns
成功返回TRUE,失败返回FALSE

Definition at line 654 of file SMenu.cpp.

◆ GetMenuUserData()

ULONG_PTR SMenu::GetMenuUserData ( UINT uPosition,
UINT uFlags )

获取菜单项用户数据

Parameters
uPosition菜单项位置
uFlags标志(例如,MF_BYCOMMAND, MF_BYPOSITION)
Returns
用户数据

Definition at line 619 of file SMenu.cpp.

◆ GetSubMenu()

HMENU SMenu::GetSubMenu ( int nPos)

获取子菜单

Parameters
nPos子菜单位置
Returns
子菜单句柄

Definition at line 649 of file SMenu.cpp.

◆ InitMenuItemData()

void SMenu::InitMenuItemData ( SMenuItemData * itemInfo,
const SStringW & strText )
protected

初始化菜单项数据

Parameters
itemInfo菜单项数据指针
strText菜单项文本

Definition at line 361 of file SMenu.cpp.

◆ InsertMenu()

BOOL SMenu::InsertMenu ( UINT uPosition,
UINT uFlags,
UINT_PTR nIDNewItem,
LPCTSTR strText,
int iIcon = -1,
HICON hIcon = 0 )

插入菜单项

Parameters
uPosition位置
uFlags标志
nIDNewItem新项ID
strText文本
iIcon图标索引(默认为-1)
hIcon图标句柄(默认为0)
Returns
成功返回TRUE,失败返回FALSE

Definition at line 377 of file SMenu.cpp.

◆ LoadMenu()

BOOL SMenu::LoadMenu ( LPCTSTR resId)

加载菜单资源

Parameters
resId资源ID
Returns
成功返回TRUE,失败返回FALSE

Definition at line 340 of file SMenu.cpp.

◆ LoadMenu2()

BOOL SMenu::LoadMenu2 ( IXmlNode * xmlMenu)

加载菜单资源(XML)

Parameters
xmlMenuXML节点
Returns
成功返回TRUE,失败返回FALSE

Definition at line 309 of file SMenu.cpp.

◆ LoadMenuU8()

BOOL SMenu::LoadMenuU8 ( LPCSTR resId)

加载菜单资源(UTF-8)

Parameters
resId资源ID
Returns
成功返回TRUE,失败返回FALSE

Definition at line 355 of file SMenu.cpp.

◆ ModifyMenuString()

BOOL SMenu::ModifyMenuString ( UINT uPosition,
UINT uFlags,
LPCTSTR lpItemString )

修改菜单项字符串

Parameters
uPosition菜单项位置
uFlags标志(例如,MF_BYCOMMAND, MF_BYPOSITION)
lpItemString新的菜单项字符串
Returns
成功返回TRUE,失败返回FALSE

Definition at line 533 of file SMenu.cpp.

◆ SetContextHelpId()

void SMenu::SetContextHelpId ( DWORD dwId)

设置上下文帮助ID

Parameters
dwId上下文帮助ID

Definition at line 644 of file SMenu.cpp.

◆ SetIconSkin()

void SMenu::SetIconSkin ( ISkinObj * icons)

设置菜单图标皮肤

Parameters
icons图标皮肤对象指针

Definition at line 628 of file SMenu.cpp.

◆ SetMenuAttr()

void SMenu::SetMenuAttr ( HMENU hMenu,
SMenuAttr * pMenuAttr ) const
protected

设置菜单属性对象指针

Parameters
hMenu菜单句柄
pMenuAttr菜单属性对象指针

Definition at line 581 of file SMenu.cpp.

◆ SetMenuUserData()

BOOL SMenu::SetMenuUserData ( UINT uPosition,
UINT uFlags,
ULONG_PTR ulUserData )

设置菜单项用户数据

Parameters
uPosition菜单项位置
uFlags标志(例如,MF_BYCOMMAND, MF_BYPOSITION)
ulUserData用户数据
Returns
成功返回TRUE,失败返回FALSE

Definition at line 609 of file SMenu.cpp.

◆ TrackPopupMenu()

UINT SMenu::TrackPopupMenu ( UINT uFlags,
int x,
int y,
HWND hWnd,
LPCRECT prcRect = NULL,
int nScale = 100 )

跟踪弹出菜单

Parameters
uFlags跟踪标志(例如,TPM_LEFTALIGN, TPM_RIGHTALIGN)
x菜单左上角的X坐标
y菜单左上角的Y坐标
hWnd父窗口句柄
prcRect可选的矩形区域
nScale缩放比例(默认为100)
Returns
菜单项ID

Definition at line 416 of file SMenu.cpp.

◆ UpdateScale()

void SMenu::UpdateScale ( int nScale)
protected

更新缩放比例

Parameters
nScale缩放比例

Definition at line 408 of file SMenu.cpp.

Member Data Documentation

◆ m_bAttached

bool SMenu::m_bAttached
protected

Definition at line 628 of file SMenu.h.

◆ m_hMenu

HMENU SMenu::m_hMenu

Definition at line 419 of file SMenu.h.

◆ m_icons

SAutoRefPtr<ISkinObj> SMenu::m_icons
protected

Definition at line 629 of file SMenu.h.


The documentation for this class was generated from the following files: