1#ifndef __SMENUEX_I__H__
2#define __SMENUEX_I__H__
4#include <interface/obj-ref-i.h>
5#include <interface/sxml-i.h>
12#define INTERFACE IMenuEx
13DECLARE_INTERFACE_(IMenuEx,
IObjRef)
20 STDMETHOD_(
long, AddRef)(THIS) PURE;
26 STDMETHOD_(
long, Release)(THIS) PURE;
32 STDMETHOD_(
void, OnFinalRelease)(THIS) PURE;
41 STDMETHOD_(BOOL, LoadMenu)(THIS_ LPCTSTR resId) PURE;
48 STDMETHOD_(BOOL, LoadMenuU8)(THIS_ LPCSTR resId) PURE;
55 STDMETHOD_(BOOL, LoadMenu2)(THIS_
IXmlNode * xmlMenu) PURE;
68 STDMETHOD_(BOOL, InsertMenu)(THIS_ UINT uPosition, UINT uFlags,
int id, LPCTSTR strText,
int iIcon DEF_VAL(-1)) PURE;
80 STDMETHOD_(BOOL, AppendMenu)(THIS_ UINT uFlags,
int id, LPCTSTR lpNewItem,
int iIcon DEF_VAL(-1)) PURE;
88 STDMETHOD_(BOOL, CheckMenuItem)(THIS_ UINT uIdCheckItem, UINT uCheck) PURE;
98 STDMETHOD_(BOOL, CheckMenuRadioItem)(THIS_ UINT idFirst, UINT idLast, UINT idCheck, UINT uFlags) PURE;
106 STDMETHOD_(BOOL, DeleteMenu)(THIS_ UINT uPosition, UINT uFlags) PURE;
117 STDMETHOD_(UINT, TrackPopupMenu)(THIS_ UINT uFlags,
int x,
int y, HWND hWnd,
int nScale DEF_VAL(100)) PURE;
123 STDMETHOD_(
void, DestroyMenu)(THIS) PURE;
132 STDMETHOD_(BOOL, ModifyMenuString)(THIS_ UINT uPosition, UINT uFlags, LPCTSTR lpItemString) PURE;
141 STDMETHOD_(BOOL, SetMenuUserData)(THIS_ UINT uPosition, UINT uFlags, ULONG_PTR ulUserData) PURE;
149 STDMETHOD_(ULONG_PTR, GetMenuUserData)(THIS_ UINT uPosition, UINT uFlags) PURE;
155 STDMETHOD_(DWORD, GetContextHelpId)(CTHIS) SCONST PURE;
162 STDMETHOD_(
void, SetContextHelpId)(THIS_ DWORD dwId) PURE;
169 STDMETHOD_(IMenuEx *, GetSubMenu)(THIS_
int nPos) PURE;
178 STDMETHOD_(BOOL, GetMenuString)(THIS_ UINT uPosition, UINT uFlags, IStringT * lpItemString) PURE;
184 STDMETHOD_(IHostWnd *, GetHostWnd)(THIS) PURE;
187EXTERN_C
void SOUI_EXP EndMenuEx(
int nCmdId);
Interface for Skin Objects.
Interface for reference counting.