soui 5.0.0.1
 
Loading...
Searching...
No Matches
IWindow Struct Reference
Inheritance diagram for IWindow:
IObject IObjRef SObjectImpl< IWindow > TObjRefImpl< SObjectImpl< IWindow > > SWindow TWindowProxy< IAnimateImgWnd > TWindowProxy< IComboBase > TWindowProxy< IDateTimePicker > TWindowProxy< IHeaderCtrl > TWindowProxy< IHotKeyCtrl > TWindowProxy< IIconWnd > TWindowProxy< IImageWnd > TWindowProxy< IOsrPanel > TWindowProxy< IPanel > TWindowProxy< IProgress > TWindowProxy< IRealWnd > TWindowProxy< ISpinButtonCtrl > TWindowProxy< IStackView > TWindowProxy< ITabCtrl > TWindowProxy< ITabPage > SActiveX SButton SCalendar SCaption SCheckBox SFrame SGroup SLine SLink SMenuBar SMenuExItem SRadioBox SRadioGroup SRootWindow SScrollBar SSplitPane SSplitWnd SStackPage SStatic SSwitch STabSlider TWindowProxy< T >

Public Member Functions

 DEF_OBJ_BASE (IWindow, Window) long AddRef() PURE
 添加引用
 
long Release () PURE
 释放引用
 
void OnFinalRelease () PURE
 释放对象
 
BOOL IsClass (LPCWSTR lpszName) SCONST PURE
 判断this是不是属于指定的类型
 
LPCWSTR GetObjectClass () SCONST PURE
 获得类型名
 
int GetObjectType () SCONST PURE
 获得对象类型
 
int GetID () SCONST PURE
 获取对象ID
 
void SetID (int nID) PURE
 设置对象ID
 
LPCWSTR GetName () SCONST PURE
 获取对象Name
 
LPCSTR GetNameA () SCONST PURE
 
void SetName (LPCWSTR pszName) PURE
 设置对象Name
 
BOOL InitFromXml (IXmlNode *xmlNode) PURE
 从XML结节初始化SObject对象
 
void OnInitFinished (IXmlNode *xmlNode) PURE
 属性初始化完成处理接口
 
HRESULT ISetAttribute (const IStringW *strAttribName, const IStringW *strValue, BOOL bLoading) PURE
 设置一个对象属性
 
HRESULT SetAttributeA (LPCSTR pszAttr, LPCSTR pszValue, BOOL bLoading DEF_VAL(FALSE)) PURE
 设置一个对象属性
 
HRESULT SetAttribute (LPCWSTR pszAttr, LPCWSTR pszValue, BOOL bLoading DEF_VAL(FALSE)) PURE
 设置一个对象属性
 
BOOL GetAttribute (LPCWSTR strAttr, IStringW *pValue) SCONST PURE
 通过属性名查询属性值
 
HRESULT AfterAttribute (LPCWSTR pszAttr, LPCWSTR pszValue, BOOL bLoading, HRESULT hr) PURE
 属性处理后调用的方法
 
void SetAttrHandler (FunAttrHandler attrHandler) PURE
 设置属性处理回调方法
 
HRESULT QueryInterface (REFGUID id, IObjRef **ppRet) PURE
 查询控件接口
 
ISwndContainerGetContainer () PURE
 获取控件容器接口
 
void SetContainer (ISwndContainer *pContainer) PURE
 设置控件容器接口
 
SWND GetSwnd () SCONST PURE
 获取SOUI容器句柄
 
ILayoutGetLayout () PURE
 获取布局对象
 
ILayoutParamGetLayoutParam () SCONST PURE
 获取布局参数对象
 
BOOL SetLayoutParam (ILayoutParam *pLayoutParam) PURE
 设置布局参数对象
 
BOOL IsFloat () SCONST PURE
 获取当前窗口参与自动布局标志
 
BOOL IsDisplay () SCONST PURE
 获取隐藏占位标志
 
BOOL IsMsgTransparent () SCONST PURE
 获取窗口是否处理鼠标消息
 
BOOL IsClipClient () SCONST PURE
 获取窗口是否自动剪裁客户区
 
void SetToolTipText (LPCTSTR pszText) PURE
 设置tooltip
 
void SetToolTipTextU8 (LPCSTR pszText) PURE
 设置tooltip
 
BOOL IsChecked () SCONST PURE
 获取窗口的check状态标志
 
void SetCheck (BOOL bCheck) PURE
 设置窗口check状态
 
BOOL IsDisabled (BOOL bCheckParent) SCONST PURE
 获取窗口的禁用状态
 
void EnableWindow (BOOL bEnable, BOOL bUpdate) PURE
 设置窗口启用状态
 
BOOL IsVisible (BOOL bCheckParent) SCONST PURE
 获取窗口的可见标志
 
void SetVisible (BOOL bVisible, BOOL bUpdate) PURE
 设置窗口可见标志
 
ULONG_PTR GetUserData () SCONST PURE
 获取窗口的用户数据
 
ULONG_PTR SetUserData (ULONG_PTR uData) PURE
 设置窗口用户数据
 
void DoColorize (COLORREF cr) PURE
 执行调色
 
COLORREF GetColorizeColor () SCONST PURE
 获取当前调色的色调
 
LRESULT SSendMessage (UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL *pbMsgHandled) PURE
 发送一个消息
 
void SDispatchMessage (UINT uMsg, WPARAM wParam DEF_VAL(0), LPARAM lParam DEF_VAL(0)) PURE
 分发一个消息到当前窗口及它所有子窗口
 
BOOL IsFocusable () SCONST PURE
 获取窗口是否允许设置为焦点
 
BOOL IsFocused () SCONST PURE
 判断是否为焦点窗口
 
void SetFocus () PURE
 将当前窗口设置为焦点窗口
 
void KillFocus () PURE
 取消焦点
 
void Invalidate () PURE
 刷新当前窗口客户区
 
void InvalidateRect (LPCRECT lprect) PURE
 刷新当前窗口指定位置
 
void LockUpdate () PURE
 锁住刷新,中断刷新调用
 
void UnlockUpdate () PURE
 解锁刷新,恢复刷新调用
 
BOOL IsUpdateLocked (BOOL bCheckParent DEF_VAL(FALSE)) SCONST PURE
 获取刷新加锁状态
 
void Update (BOOL bForce DEF_VAL(FALSE)) PURE
 请求立即更新窗口
 
void SetWindowRgn (IRegionS *pRgn, BOOL bRedraw) PURE
 设置窗口显示区域
 
IRegionSGetWindowRgn () SCONST PURE
 获取窗口显示区域
 
void SetWindowPath (IPathS *pPath, BOOL bRedraw) PURE
 设置窗口显示区域
 
IPathSGetWindowPath () SCONST PURE
 获取窗口显示区域
 
void Move2 (int x, int y, int cx DEF_VAL(-1), int cy DEF_VAL(-1)) PURE
 将窗口移动到指定位置
 
void Move (LPCRECT prect) PURE
 将窗口移动到指定位置
 
void GetWindowRect (LPRECT prect) SCONST PURE
 获取窗口的显示位置,包含窗口的非客户区
 
void GetClientRect (LPRECT prect) SCONST PURE
 获取窗口的显示位置,不包含窗口的非客户区
 
void GetVisibleRect (LPRECT prect) SCONST PURE
 获取窗口的经过父窗口剪裁后的显示位置
 
BOOL IsContainPoint (POINT pt, BOOL bClientOnly) SCONST PURE
 检测一个点是不是在窗口范围内
 
SWND SwndFromPoint (POINT *pt, BOOL bIncludeMsgTransparent DEF_VAL(FALSE)) SCONST PURE
 检查pt指向的窗口
 
BOOL SetTimer (char id, UINT uElapse) PURE
 设置容器定时器
 
BOOL KillTimer (char id) PURE
 删除SetTimer创建的定时器
 
SWND GetCapture () SCONST PURE
 获取鼠标捕获
 
SWND SetCapture () PURE
 设置容器为鼠标捕获
 
BOOL ReleaseCapture () PURE
 释放鼠标捕获
 
void SetAnimation (IAnimation *animation) PURE
 设置一个窗口动画
 
void StartAnimation (IAnimation *animation) PURE
 立即启动一个动画对象
 
IAnimationGetAnimation () SCONST PURE
 获取当前正在运行的动画对象
 
void ClearAnimation () PURE
 清除动画
 
void SetAlpha (BYTE byAlpha) PURE
 设置窗口透明度
 
BYTE GetAlpha () SCONST PURE
 获取窗口透明度
 
void SetMatrix (const IMatrix *mtx) PURE
 设置窗口变换矩阵
 
void GetMatrix (IMatrix *mtx) SCONST PURE
 获取窗口变换矩阵
 
int GetScale () SCONST PURE
 获取dpi放大倍数
 
void RequestRelayout () PURE
 请求重新布局
 
void UpdateLayout () PURE
 重新布局当前窗口的子窗口,只在窗口布局脏了才生效
 
void UpdateChildrenPosition () PURE
 强制重新布局子窗口
 
BOOL IsLayoutDirty () SCONST PURE
 获取布局脏标志
 
UINT OnGetDlgCode () SCONST PURE
 获取窗口响应键盘的标志位
 
IWindowGetIRoot () SCONST PURE
 获取根窗口
 
IWindowGetIParent () SCONST PURE
 获取父窗口
 
IWindowGetIWindow (int uCode) SCONST PURE
 根据uCode获取与当前窗口在dom树上关联的窗口
 
IWindowGetIChild (int iChild) SCONST PURE
 获取子窗口
 
UINT GetChildrenCount () SCONST PURE
 获取子窗口数量
 
BOOL IsDescendant (const IWindow *pTest) SCONST PURE
 判断一个窗口是不是当前窗口的子孙窗口
 
void SetIOwner (IWindow *pOwner) PURE
 设置窗口的Owner
 
IWindowGetIOwner () SCONST PURE
 获取Owner窗口
 
void BringWindowToTop () PURE
 将当前窗口移动到同级兄弟窗口的zorder最顶层
 
BOOL AdjustIZOrder (IWindow *pInsertAfter) PURE
 调整窗口Z序
 
void InsertIChild (IWindow *pNewChild, IWindow *pInsertAfter) PURE
 在窗口树中插入一个子窗口
 
BOOL RemoveIChild (IWindow *pChild) PURE
 从窗口树中移除一个子窗口对象
 
BOOL CreateChildrenFromXml (LPCWSTR pszXml) PURE
 从XML创建子窗口
 
BOOL CreateChildrenFromResId (LPCTSTR pszResId) PURE
 从XML资源创建子窗口
 
IWindowFindIChildByID (int nId) PURE
 根据ID查找子窗口
 
IWindowFindIChildByName (LPCWSTR pszName) PURE
 根据Name查找子窗口
 
IWindowFindIChildByNameA (LPCSTR pszName) PURE
 根据Name查找子窗口
 
BOOL DestroyIChild (IWindow *pChild) PURE
 销毁一个子窗口
 
void DestroyAllChildren () PURE
 销毁所有子窗口
 
BOOL Destroy () PURE
 销毁窗口
 
IWindowGetNextLayoutIChild (const IWindow *pCurChild) SCONST PURE
 获取指定窗口的下一个参与布局的窗口对象
 
void GetChildrenLayoutRect (RECT *prc) SCONST PURE
 获得子窗口的布局空间
 
void GetDesiredSize (SIZE *pSize, int nParentWid, int nParentHei) PURE
 当没有指定窗口大小时,通过如皮肤计算窗口的期望大小
 
COLORREF GetBkgndColor () SCONST PURE
 获取窗口背景色
 
void SetWindowText (LPCTSTR lpszText) PURE
 设计窗口显示文本
 
void SetWindowTextU8 (LPCSTR lpszText) PURE
 设计窗口显示文本
 
int GetWindowText (TCHAR *pBuf, int nBufLen, BOOL bRawText) PURE
 获取窗口显示文本
 
int GetWindowTextU8 (IStringA *pStr, BOOL bRawText) PURE
 
DWORD GetState () SCONST PURE
 获取窗口状态
 
DWORD ModifyState (DWORD dwStateAdd, DWORD dwStateRemove, BOOL bUpdate DEF_VAL(FALSE)) PURE
 修改窗口状态
 
IWindowGetISelectedSiblingInGroup () PURE
 获得在一个group中选中状态的窗口
 
IWindowGetISelectedChildInGroup () PURE
 获取有选择状态的子窗口
 
BOOL IsSiblingsAutoGroupped () SCONST PURE
 同类型兄弟窗口自动成组标志
 
BOOL CreateCaret (HBITMAP pBmp, int nWid, int nHeight) PURE
 创建光标
 
void ShowCaret (BOOL bShow) PURE
 控制光标显示/隐藏
 
void SetCaretPos (int x, int y) PURE
 设置光标显示位置
 
void SetEventMute (BOOL bMute) PURE
 设置当前控件是否允许发出事件
 
BOOL SubscribeEvent (DWORD evtId, const IEvtSlot *pSlot) PURE
 订阅窗口事件
 
BOOL UnsubscribeEvent (DWORD evtId, const IEvtSlot *pSlot) PURE
 取消窗口事件订阅
 
BOOL AddEvent (DWORD dwEventID, LPCWSTR pszEventHandlerName) PURE
 增加窗口事件
 
BOOL RemoveEvent (DWORD dwEventID) PURE
 删除窗口事件
 
BOOL FireEvent (IEvtArgs *evt) PURE
 发射一个事件到应用层
 
BOOL FireCommand () PURE
 激活窗口的EVT_CMD事件
 
BOOL FireCtxMenu (POINT pt) PURE
 激活快捷菜单事件
 
BOOL SwndProc (UINT uMsg, WPARAM wParam, LPARAM lParam, LRESULT *lResult) PURE
 默认的消息处理函数
 
void SetSwndProc (FunSwndProc swndProc) PURE
 设置消息处理函数
 
HWND GetHostHwnd () PURE
 获取Host Hwnd
 
ITimelineHandlersMgrGetTimelineHandlersMgr () PURE
 获取ITimelineHandlersMgr
 
BOOL IsVideoCanvas () SCONST PURE
 查询窗口是否为视频窗口
 
BOOL RegisterDragDrop (IDropTarget *pDragTarget) PURE
 
BOOL UnregisterDragDrop () PURE
 
- Public Member Functions inherited from IObject
long AddRef () PURE
 添加引用
 
long Release () PURE
 释放引用
 
void OnFinalRelease () PURE
 释放对象
 
BOOL IsClass (LPCWSTR lpszName) SCONST PURE
 判断this是不是属于指定的类型
 
LPCWSTR GetObjectClass () SCONST PURE
 获得类型名
 
int GetObjectType () SCONST PURE
 获得对象类型
 
int GetID () SCONST PURE
 获取对象ID
 
void SetID (int nID) PURE
 设置对象ID
 
LPCWSTR GetName () SCONST PURE
 获取对象Name
 
LPCSTR GetNameA () SCONST PURE
 
void SetName (LPCWSTR pszName) PURE
 设置对象Name
 
BOOL InitFromXml (IXmlNode *xmlNode) PURE
 从XML结节初始化SObject对象
 
void OnInitFinished (IXmlNode *xmlNode) PURE
 属性初始化完成处理接口
 
HRESULT ISetAttribute (const IStringW *strAttribName, const IStringW *strValue, BOOL bLoading) PURE
 设置一个对象属性
 
HRESULT SetAttributeA (LPCSTR pszAttr, LPCSTR pszValue, BOOL bLoading DEF_VAL(FALSE)) PURE
 设置一个对象属性
 
HRESULT SetAttribute (LPCWSTR pszAttr, LPCWSTR pszValue, BOOL bLoading DEF_VAL(FALSE)) PURE
 设置一个对象属性
 
BOOL GetAttribute (LPCWSTR strAttr, IStringW *pValue) SCONST PURE
 通过属性名查询属性值
 
HRESULT AfterAttribute (LPCWSTR pszAttr, LPCWSTR pszValue, BOOL bLoading, HRESULT hr) PURE
 属性处理后调用的方法
 
void SetAttrHandler (FunAttrHandler attrHandler) PURE
 设置属性处理回调方法
 
- Public Member Functions inherited from IObjRef
long AddRef () PURE
 Increases the reference count.
 
long Release () PURE
 Decreases the reference count.
 
void OnFinalRelease () PURE
 Called when the reference count reaches zero and the object is about to be released.
 

Detailed Description

Definition at line 42 of file SWindow-i.h.

Member Function Documentation

◆ AddEvent()

BOOL IWindow::AddEvent ( DWORD dwEventID,
LPCWSTR pszEventHandlerName )

增加窗口事件

Parameters
evtIdDWORD–事件ID
LPCWSTRpszEventHandlerName–字符串标识的事件处理(脚本使用)
Returns
TRUE–成功

◆ AdjustIZOrder()

BOOL IWindow::AdjustIZOrder ( IWindow * pInsertAfter)

调整窗口Z序

AdjustZOrder

Parameters
SWindow*pInsertAfter – 插入在这个窗口之后
Returns
bool, pInsertAfter与this非同级窗口返回失败

Describe pInsertAfter可以为NULL,或是与this同一级的兄弟窗口

◆ AfterAttribute()

HRESULT IWindow::AfterAttribute ( LPCWSTR pszAttr,
LPCWSTR pszValue,
BOOL bLoading,
HRESULT hr )

属性处理后调用的方法

OnAttribute

Parameters
LPCWSTRpszAttr– 属性名
LPCWSTRpszValue – 属性值
BOOLbLoading – 对象创建时由系统调用标志
HRESULThr – 属性处理结果 Describe 不做处理,直接返回

◆ BringWindowToTop()

void IWindow::BringWindowToTop ( )

将当前窗口移动到同级兄弟窗口的zorder最顶层

Parameters

return

◆ ClearAnimation()

void IWindow::ClearAnimation ( )

清除动画

Returns

◆ CreateCaret()

BOOL IWindow::CreateCaret ( HBITMAP pBmp,
int nWid,
int nHeight )

创建光标

Parameters
pBmp创建光标的位图,可为null
nWidint–光标宽度
nHeightint–光标高度
Returns
TRUE–成功

◆ CreateChildrenFromResId()

BOOL IWindow::CreateChildrenFromResId ( LPCTSTR pszResId)

从XML资源创建子窗口

CreateChildrenFromResId

Parameters
LPCTSTRpszResId – XML资源ID
Returns
BOOL 是否创建成功

Describe

◆ CreateChildrenFromXml()

BOOL IWindow::CreateChildrenFromXml ( LPCWSTR pszXml)

从XML创建子窗口

CreateChildrenFromXml

Parameters
LPCWSTRpszXml – 合法的utf16编码XML字符串
Returns
BOOL 是否创建成功

Describe

◆ Destroy()

BOOL IWindow::Destroy ( )

销毁窗口

Returns
TRUE–成功

◆ DestroyAllChildren()

void IWindow::DestroyAllChildren ( )

销毁所有子窗口

Returns

◆ DestroyIChild()

BOOL IWindow::DestroyIChild ( IWindow * pChild)

销毁一个子窗口

DestroyChild

Parameters
SWindow* pChild – 子窗口对象
Returns
BOOL

Describe 先调用RemoveChild,再调用pChild->Release来释放子窗口对象

◆ DoColorize()

void IWindow::DoColorize ( COLORREF cr)

执行调色

Parameters
crCOLORREF–目标色调
Returns

◆ EnableWindow()

void IWindow::EnableWindow ( BOOL bEnable,
BOOL bUpdate )

设置窗口启用状态

Parameters
bEnableBOOL–启用窗口
bUpdateBOOL–同时刷新窗口标志
Returns

◆ FindIChildByID()

IWindow * IWindow::FindIChildByID ( int nId)

根据ID查找子窗口

Parameters
nIdint–子窗口ID
Returns
IWindow*–匹配窗口
Remarks
采用广度优先算法搜索匹配子窗口

◆ FindIChildByName()

IWindow * IWindow::FindIChildByName ( LPCWSTR pszName)

根据Name查找子窗口

Parameters
pszNameLPCWSTR–子窗口Name
Returns
IWindow*–匹配窗口
Remarks
采用广度优先算法搜索匹配子窗口

◆ FindIChildByNameA()

IWindow * IWindow::FindIChildByNameA ( LPCSTR pszName)

根据Name查找子窗口

Parameters
pszNameLPCSTR–子窗口Name
Returns
IWindow*–匹配窗口
Remarks
采用广度优先算法搜索匹配子窗口

◆ FireCommand()

BOOL IWindow::FireCommand ( )

激活窗口的EVT_CMD事件

FireCommand

Returns
BOOL– true:EVT_CMD事件被处理

Describe

◆ FireCtxMenu()

BOOL IWindow::FireCtxMenu ( POINT pt)

激活快捷菜单事件

FireCtxMenu

Parameters
CPointpt – 鼠标点击位置
Returns
BOOL – true:外部处理了快捷菜单事件

Describe

◆ FireEvent()

BOOL IWindow::FireEvent ( IEvtArgs * evt)

发射一个事件到应用层

Parameters
evtIEvtArgs *–事件对象
Returns
TRUE–成功

◆ GetAlpha()

BYTE IWindow::GetAlpha ( )

获取窗口透明度

Returns
BYTE–窗口透明度

◆ GetAnimation()

IAnimation * IWindow::GetAnimation ( )

获取当前正在运行的动画对象

Returns
IAnimation *–动画对象

◆ GetAttribute()

BOOL IWindow::GetAttribute ( LPCWSTR strAttr,
IStringW * pValue )

通过属性名查询属性值

GetAttribute

Parameters
LPCWSTRstrAttr – 属性名
IStringW* pValue – 属性值
Returns
BOOL, TRUE:获取成功,FALSE:获取失败,属性不存在 Describe 默认返回空

◆ GetBkgndColor()

COLORREF IWindow::GetBkgndColor ( )

获取窗口背景色

Returns
COLORREF–窗口背景色

◆ GetCapture()

SWND IWindow::GetCapture ( )

获取鼠标捕获

Returns
SWND–鼠标捕获窗口句柄

◆ GetChildrenCount()

UINT IWindow::GetChildrenCount ( )

获取子窗口数量

Returns
UINT–子窗口数量

◆ GetChildrenLayoutRect()

void IWindow::GetChildrenLayoutRect ( RECT * prc)

获得子窗口的布局空间

GetChildrenLayoutRect

Parameters
LPRECTprc–布局位置
Returns
void

Describe 通常是客户区,但是tab,group这样的控件不一样

◆ GetClientRect()

void IWindow::GetClientRect ( LPRECT prect)

获取窗口的显示位置,不包含窗口的非客户区

Parameters
[out]LPRECT--窗口客户区显示位置
Remarks
SOUI窗口位置左上角不是(0,0),而是宿主窗口中的坐标

◆ GetColorizeColor()

COLORREF IWindow::GetColorizeColor ( )

获取当前调色的色调

Returns
COLORREF–色调

◆ GetContainer()

ISwndContainer * IWindow::GetContainer ( )

获取控件容器接口

Returns
ISwndContainer *–控件容器接口

◆ GetDesiredSize()

void IWindow::GetDesiredSize ( SIZE * pSize,
int nParentWid,
int nParentHei )

当没有指定窗口大小时,通过如皮肤计算窗口的期望大小

GetDesiredSize

Parameters
intnParentWid – 容器宽度,<0代表容器宽度依赖当前窗口宽度
intnParentHei – 容器高度,<0代表容器高度依赖当前窗口高度
Returns
CSize

Describe

◆ GetHostHwnd()

HWND IWindow::GetHostHwnd ( )

获取Host Hwnd

GetHostHwnd

Returns
HWND – host hwnd

Describe

◆ GetIChild()

IWindow * IWindow::GetIChild ( int iChild)

获取子窗口

Parameters
iChildint–子窗口序号,[0,childCount]
Returns
IWindow *–子窗口
Remarks
iChild==0返回self, 1返回第一个子窗口

◆ GetID()

int IWindow::GetID ( )

获取对象ID

GetID

Returns
int – 对象ID Describe

◆ GetIOwner()

IWindow * IWindow::GetIOwner ( )

获取Owner窗口

Returns
IWindow *–Owner窗口

◆ GetIParent()

IWindow * IWindow::GetIParent ( )

获取父窗口

Returns
IWindow *–父窗口对象

◆ GetIRoot()

IWindow * IWindow::GetIRoot ( )

获取根窗口

Returns
IWindow *–根窗口对象

◆ GetISelectedChildInGroup()

IWindow * IWindow::GetISelectedChildInGroup ( )

获取有选择状态的子窗口

GetSelectedChildInGroup

Returns
IWindow * – 选中状态窗口 Describe

◆ GetISelectedSiblingInGroup()

IWindow * IWindow::GetISelectedSiblingInGroup ( )

获得在一个group中选中状态的窗口

GetISelectedSiblingInGroup

Returns
SWindow *

Describe 不是group中的窗口时返回NULL

◆ GetIWindow()

IWindow * IWindow::GetIWindow ( int uCode)

根据uCode获取与当前窗口在dom树上关联的窗口

Parameters
uCodeUINT–关联类型
Returns
IWindow *–当前窗口在dom树上关联的窗口

◆ GetLayout()

ILayout * IWindow::GetLayout ( )

获取布局对象

Returns
ILayout *–布局对象

◆ GetLayoutParam()

ILayoutParam * IWindow::GetLayoutParam ( )

获取布局参数对象

Returns
ILayoutParam *–布局参数对象

◆ GetName()

LPCWSTR IWindow::GetName ( )

获取对象Name

GetName

Returns
LPCWSTR – 对象Name Describe

◆ GetNextLayoutIChild()

IWindow * IWindow::GetNextLayoutIChild ( const IWindow * pCurChild)

获取指定窗口的下一个参与布局的窗口对象

Parameters
pCurChildconst IWindow *–当前窗口
Returns
IWindow *–下一个布局窗口

◆ GetObjectClass()

LPCWSTR IWindow::GetObjectClass ( )

获得类型名

GetObjectClass

Returns
LPCWSTR – 类型名 Describe 这是一个虚函数,注意与GetClassName的区别。

◆ GetObjectType()

int IWindow::GetObjectType ( )

获得对象类型

GetObjectType

Returns
int – 对象类型 Describe 这是一个虚函数,注意与GetClassType的区别。

◆ GetScale()

int IWindow::GetScale ( )

获取dpi放大倍数

Returns
int–dpi放大倍数,以100为基数

◆ GetState()

DWORD IWindow::GetState ( )

获取窗口状态

Returns
DWORD – 窗口状态

◆ GetSwnd()

SWND IWindow::GetSwnd ( )

获取SOUI容器句柄

Returns
SWND–SOUI容器句柄

◆ GetTimelineHandlersMgr()

ITimelineHandlersMgr * IWindow::GetTimelineHandlersMgr ( )

获取ITimelineHandlersMgr

GetTimelineHandlersMgr

Returns
ITimelineHandlersMgr* – 时间线管理器

Describe

◆ GetUserData()

ULONG_PTR IWindow::GetUserData ( )

获取窗口的用户数据

Returns
ULONG_PTR–用户数据

◆ GetVisibleRect()

void IWindow::GetVisibleRect ( LPRECT prect)

获取窗口的经过父窗口剪裁后的显示位置

Parameters
[out]LPRECT--窗口客户区显示位置
Remarks
不计算子窗口及兄弟窗口的剪裁

◆ GetWindowPath()

IPathS * IWindow::GetWindowPath ( )

获取窗口显示区域

Returns
IPathS*–显示区域

◆ GetWindowRect()

void IWindow::GetWindowRect ( LPRECT prect)

获取窗口的显示位置,包含窗口的非客户区

Parameters
[out]LPRECT--窗口显示位置
Remarks
SOUI窗口位置左上角不是(0,0),而是宿主窗口中的坐标

◆ GetWindowRgn()

IRegionS * IWindow::GetWindowRgn ( )

获取窗口显示区域

Returns
IRegionS*–显示区域

◆ GetWindowText()

int IWindow::GetWindowText ( TCHAR * pBuf,
int nBufLen,
BOOL bRawText )

获取窗口显示文本

Parameters
pBufTCHAR*–缓冲区
nBufLenint–缓冲区长度
bRawTextBOOL–获取翻译前文本标志
Returns
int–复制的文本长度,pBuf为NULL时返回总缓冲区长度

◆ InitFromXml()

BOOL IWindow::InitFromXml ( IXmlNode * xmlNode)

从XML结节初始化SObject对象

InitFromXml

Parameters
SXmlNode– XML结节
Returns
BOOL – 成功返回TRUE Describe

◆ InsertIChild()

void IWindow::InsertIChild ( IWindow * pNewChild,
IWindow * pInsertAfter )

在窗口树中插入一个子窗口

InsertChild

Parameters
SWindow* pNewChild – 子窗口对象
SWindow* pInsertAfter – 插入位置
Returns
void

Describe 一般用于UI初始化的时候创建,插入的窗口不会自动进入布局流程

◆ Invalidate()

void IWindow::Invalidate ( )

刷新当前窗口客户区

Returns

◆ InvalidateRect()

void IWindow::InvalidateRect ( LPCRECT lprect)

刷新当前窗口指定位置

Parameters
lprectLPCRECT–窗口位置
Returns
Remarks
可以包含非客户区,但是不刷新窗口外位置

◆ IsChecked()

BOOL IWindow::IsChecked ( )

获取窗口的check状态标志

Returns
TRUE–checked

◆ IsClass()

BOOL IWindow::IsClass ( LPCWSTR lpszName)

判断this是不是属于指定的类型

IsClass

Parameters
LPCWSTRlpszName – 测试类型名
Returns
BOOL – true是测试类型 Describe

◆ IsClipClient()

BOOL IWindow::IsClipClient ( )

获取窗口是否自动剪裁客户区

Returns
TRUE–自动剪裁客户区
Remarks
剪裁客户区可以限制窗口及它的子窗口绘制不超过当前窗口客户区,但是要增加一次剪裁操作

◆ IsContainPoint()

BOOL IWindow::IsContainPoint ( POINT pt,
BOOL bClientOnly )

检测一个点是不是在窗口范围内

Parameters
ptPOINT–被检查坐标
bClientOnlyBOOL–测试客户区标志
Returns
TRUE–在窗口范围内

◆ IsDescendant()

BOOL IWindow::IsDescendant ( const IWindow * pTest)

判断一个窗口是不是当前窗口的子孙窗口

Parameters
pTestconst IWindow *–测试窗口
Returns
TRUE–是子孙窗口

◆ IsDisabled()

BOOL IWindow::IsDisabled ( BOOL bCheckParent)

获取窗口的禁用状态

Returns
TRUE–窗口禁用

◆ IsDisplay()

BOOL IWindow::IsDisplay ( )

获取隐藏占位标志

Returns
TRUE–窗口隐藏的时候占有该布局位置,FALSE–隐藏时不占位

◆ ISetAttribute()

HRESULT IWindow::ISetAttribute ( const IStringW * strAttribName,
const IStringW * strValue,
BOOL bLoading )

设置一个对象属性

ISetAttribute

Parameters
constIStringW *strAttribName – 属性名
constIStringW *strValue – 属性值
BOOLbLoading – 对象创建时由系统调用标志
Returns
HRESULT – 处理处理结果 Describe

◆ IsFloat()

BOOL IWindow::IsFloat ( )

获取当前窗口参与自动布局标志

Returns
TRUE–参与布局,FALSE–不参与布局,需要用户在代码中手动布局

◆ IsFocusable()

BOOL IWindow::IsFocusable ( )

获取窗口是否允许设置为焦点

Returns
TRUE–允许

◆ IsFocused()

BOOL IWindow::IsFocused ( )

判断是否为焦点窗口

Returns
TRUE–焦点窗口

◆ IsLayoutDirty()

BOOL IWindow::IsLayoutDirty ( )

获取布局脏标志

Returns
TRUE–布局脏

◆ IsMsgTransparent()

BOOL IWindow::IsMsgTransparent ( )

获取窗口是否处理鼠标消息

Returns
TRUE–鼠标消息透传给父窗口

◆ IsSiblingsAutoGroupped()

BOOL IWindow::IsSiblingsAutoGroupped ( )

同类型兄弟窗口自动成组标志

Returns
TRUE–自动成组
Remarks
自动成组的窗口在用户按钮方向键时,组内窗口循环顺序获得焦点

◆ IsUpdateLocked()

BOOL IWindow::IsUpdateLocked ( BOOL bCheckParent DEF_VALFALSE)

获取刷新加锁状态

Returns
TRUE–当前刷新为加锁状态

◆ IsVideoCanvas()

BOOL IWindow::IsVideoCanvas ( )

查询窗口是否为视频窗口

IsVideoCanvas

Returns
BOOL – TRUE:是视频窗口

Describe

◆ IsVisible()

BOOL IWindow::IsVisible ( BOOL bCheckParent)

获取窗口的可见标志

Returns
TRUE–可见

◆ KillFocus()

void IWindow::KillFocus ( )

取消焦点

Returns

◆ KillTimer()

BOOL IWindow::KillTimer ( char id)

删除SetTimer创建的定时器

Parameters
idchar–SetTimer创建的定时器ID
Returns

◆ LockUpdate()

void IWindow::LockUpdate ( )

锁住刷新,中断刷新调用

Returns

◆ ModifyState()

DWORD IWindow::ModifyState ( DWORD dwStateAdd,
DWORD dwStateRemove,
BOOL bUpdate DEF_VALFALSE )

修改窗口状态

Parameters
dwStateAddDWORD–增加状态位
dwStateRemoveDWORD–删除状态位
bUpdateBOOL–刷新窗口
Returns
DWORD–新状态

◆ Move()

void IWindow::Move ( LPCRECT prect)

将窗口移动到指定位置

Parameters
prectLPCRECT–窗口坐标
Returns
remark 容器在容器中的坐标

◆ Move2()

void IWindow::Move2 ( int x,
int y,
int cx DEF_VAL-1,
int cy DEF_VAL-1 )

将窗口移动到指定位置

Move2

Parameters
intx – left
inty – top
intcx – width
intcy – height
Returns
void

Describe

See also
Move(LPRECT prect)

◆ OnGetDlgCode()

UINT IWindow::OnGetDlgCode ( )

获取窗口响应键盘的标志位

Returns
UINT–响应键盘的标志位

◆ OnInitFinished()

void IWindow::OnInitFinished ( IXmlNode * xmlNode)

属性初始化完成处理接口

OnInitFinished

Parameters
SXmlNodexmlNode – 属性节点
Returns
void Describe

◆ QueryInterface()

HRESULT IWindow::QueryInterface ( REFGUID id,
IObjRef ** ppRet )

查询控件接口

Parameters
idREFGUID–控件接口ID
[out]ppRetIObjRef * *–控件接口
Returns
S_OK–成功

◆ ReleaseCapture()

BOOL IWindow::ReleaseCapture ( )

释放鼠标捕获

Returns
TRUE–释放成功

◆ RemoveEvent()

BOOL IWindow::RemoveEvent ( DWORD dwEventID)

删除窗口事件

Parameters
evtIdDWORD–事件ID
Returns
TRUE–成功

◆ RemoveIChild()

BOOL IWindow::RemoveIChild ( IWindow * pChild)

从窗口树中移除一个子窗口对象

RemoveChild

Parameters
SWindow* pChild – 子窗口对象
Returns
BOOL

Describe 子窗口不会自动释放

◆ RequestRelayout()

void IWindow::RequestRelayout ( )

请求重新布局

Returns

◆ SDispatchMessage()

void IWindow::SDispatchMessage ( UINT uMsg,
WPARAM wParam DEF_VAL0,
LPARAM lParam DEF_VAL0 )

分发一个消息到当前窗口及它所有子窗口

Parameters
uMsgUINT-消息类型
wParamWPARAM–参数1
lParamLPARAM–参数2
Returns

◆ SetAlpha()

void IWindow::SetAlpha ( BYTE byAlpha)

设置窗口透明度

Parameters
byAlphaBYTE–透明度,[0,255]
Returns

◆ SetAnimation()

void IWindow::SetAnimation ( IAnimation * animation)

设置一个窗口动画

Parameters
animationIAnimation *–动画对象
Returns

◆ SetAttrHandler()

void IWindow::SetAttrHandler ( FunAttrHandler attrHandler)

设置属性处理回调方法

SetAttrHandler

Parameters
FunAttrHandlerattrHandler– 属性处理回调方法
Returns
void Describe

◆ SetAttribute()

HRESULT IWindow::SetAttribute ( LPCWSTR pszAttr,
LPCWSTR pszValue,
BOOL bLoading DEF_VALFALSE )

设置一个对象属性

SetAttribute

Parameters
LPCWSTRpszAttr – 属性名
LPCWSTRpszValue – 属性值
BOOLbLoading – 对象创建时由系统调用标志
Returns
HRESULT – 处理处理结果 Describe

◆ SetAttributeA()

HRESULT IWindow::SetAttributeA ( LPCSTR pszAttr,
LPCSTR pszValue,
BOOL bLoading DEF_VALFALSE )

设置一个对象属性

SetAttribute

Parameters
LPCSTRpszAttr – 属性名
LPCSTRpszValue – 属性值
BOOLbLoading – 对象创建时由系统调用标志
Returns
HRESULT – 处理处理结果 Describe

◆ SetCapture()

SWND IWindow::SetCapture ( )

设置容器为鼠标捕获

Returns
SWND–前鼠标捕获窗口句柄

◆ SetCaretPos()

void IWindow::SetCaretPos ( int x,
int y )

设置光标显示位置

Parameters
xint-X
yint-Y
Returns

◆ SetCheck()

void IWindow::SetCheck ( BOOL bCheck)

设置窗口check状态

Parameters
bCheckBOOL–check状态
Returns

◆ SetContainer()

void IWindow::SetContainer ( ISwndContainer * pContainer)

设置控件容器接口

Parameters
pContainerISwndContainer *–控件容器接口
Returns
Remarks
内部调用

◆ SetEventMute()

void IWindow::SetEventMute ( BOOL bMute)

设置当前控件是否允许发出事件

Parameters
bMuteBOOL-允许发出事件标志
Returns

◆ SetFocus()

void IWindow::SetFocus ( )

将当前窗口设置为焦点窗口

Returns

◆ SetID()

void IWindow::SetID ( int nID)

设置对象ID

Parameters
nIDint–对象ID
Returns

◆ SetIOwner()

void IWindow::SetIOwner ( IWindow * pOwner)

设置窗口的Owner

Parameters
pOwnerIWindow *–Owner窗口
Returns

◆ SetLayoutParam()

BOOL IWindow::SetLayoutParam ( ILayoutParam * pLayoutParam)

设置布局参数对象

Parameters
pLayoutParamILayoutParam *–布局参数对象
Returns
TRUE–成功,FALSE–失败
Remarks
只有布局参数对象和窗口的布局类型匹配才会设置成功

◆ SetMatrix()

void IWindow::SetMatrix ( const IMatrix * mtx)

设置窗口变换矩阵

Parameters
mtxconst IMatrix *–变换矩阵
Returns

◆ SetName()

void IWindow::SetName ( LPCWSTR pszName)

设置对象Name

Parameters
pszNameLPCWSTR – 对象Name
Returns

◆ SetSwndProc()

void IWindow::SetSwndProc ( FunSwndProc swndProc)

设置消息处理函数

SetSwndProc

Parameters
FunSwndProcswndProc – 消息处理函数
Returns
void

Describe

◆ SetTimer()

BOOL IWindow::SetTimer ( char id,
UINT uElapse )

设置容器定时器

Parameters
idchar–定时器ID,范围从0-127
uElapseUINT–定时器延时
Returns
TRUE–成功

◆ SetToolTipText()

void IWindow::SetToolTipText ( LPCTSTR pszText)

设置tooltip

Parameters
pszTextLPCTSTR–tooltip字符串
Returns
Remarks
支持多语言

◆ SetToolTipTextU8()

void IWindow::SetToolTipTextU8 ( LPCSTR pszText)

设置tooltip

Parameters
pszTextLPCSTR–tooltip字符串(utf8)
Returns
Remarks
支持多语言

◆ SetUserData()

ULONG_PTR IWindow::SetUserData ( ULONG_PTR uData)

设置窗口用户数据

Parameters
uDataULONG_PTR–新用户数据
Returns
ULONG_PTR–原用户数据

◆ SetVisible()

void IWindow::SetVisible ( BOOL bVisible,
BOOL bUpdate )

设置窗口可见标志

Parameters
bVisibleBOOL–可见性
bUpdateBOOL–同时刷新窗口标志
Returns

◆ SetWindowPath()

void IWindow::SetWindowPath ( IPathS * pPath,
BOOL bRedraw )

设置窗口显示区域

Parameters
pRgnIPathS*–显示区域
bRedrawBOOL–重新绘制
Returns
Remarks
区域的左上角坐标为(0,0),在显示过程中会根据窗口真实坐标调整位置

◆ SetWindowRgn()

void IWindow::SetWindowRgn ( IRegionS * pRgn,
BOOL bRedraw )

设置窗口显示区域

Parameters
pRgnIRegionS*–显示区域
bRedrawBOOL–重新绘制
Returns
Remarks
区域的左上角坐标为(0,0),在显示过程中会根据窗口真实坐标调整位置

◆ SetWindowText()

void IWindow::SetWindowText ( LPCTSTR lpszText)

设计窗口显示文本

Parameters
lpszTextLPCTSTR–窗口显示文本
Returns
Remarks
支持自动翻译

◆ SetWindowTextU8()

void IWindow::SetWindowTextU8 ( LPCSTR lpszText)

设计窗口显示文本

Parameters
lpszTextLPCSTR–窗口显示文本(utf8)
Returns
Remarks
支持自动翻译

◆ ShowCaret()

void IWindow::ShowCaret ( BOOL bShow)

控制光标显示/隐藏

Parameters
bShowBOOL–显示标志
Returns

◆ SSendMessage()

LRESULT IWindow::SSendMessage ( UINT uMsg,
WPARAM wParam,
LPARAM lParam,
BOOL * pbMsgHandled )

发送一个消息

Parameters
uMsgUINT-消息类型
wParamWPARAM–参数1
lParamLPARAM–参数2
[out]pbMsgHandledBOOL*–消息被处理标志
Returns

◆ StartAnimation()

void IWindow::StartAnimation ( IAnimation * animation)

立即启动一个动画对象

Parameters
animationIAnimation *–动画对象
Returns
Remarks
和setAnimation不同在于立即启动,而不是等待动画对象中的延时启动时间

◆ SubscribeEvent()

BOOL IWindow::SubscribeEvent ( DWORD evtId,
const IEvtSlot * pSlot )

订阅窗口事件

Parameters
evtIdDWORD–事件ID
pSlotconst IEvtSlot *–事件处理对象
Returns
TRUE–成功

◆ SwndFromPoint()

SWND IWindow::SwndFromPoint ( POINT * pt,
BOOL bIncludeMsgTransparent DEF_VALFALSE )

检查pt指向的窗口

Parameters
[in,out]ptPOINT *–测试坐标
bIncludeMsgTransparentBOOL–测试消息透传窗口标志
Returns
SWND–包含指定坐标的最顶层窗口

◆ SwndProc()

BOOL IWindow::SwndProc ( UINT uMsg,
WPARAM wParam,
LPARAM lParam,
LRESULT * lResult )

默认的消息处理函数

SwndProc

Parameters
UINTuMsg – 消息类型
WPARAMwParam – 参数1
LPARAMlParam – 参数2
LRESULT& lResult – 消息返回值
Returns
BOOL 是否被处理

Describe 在消息映射表中没有处理的消息进入该函数处理

◆ UnlockUpdate()

void IWindow::UnlockUpdate ( )

解锁刷新,恢复刷新调用

Returns

◆ UnsubscribeEvent()

BOOL IWindow::UnsubscribeEvent ( DWORD evtId,
const IEvtSlot * pSlot )

取消窗口事件订阅

Parameters
evtIdDWORD–事件ID
pSlotconst IEvtSlot *–事件处理对象
Returns
TRUE–成功

◆ Update()

void IWindow::Update ( BOOL bForce DEF_VALFALSE)

请求立即更新窗口

Parameters
BOOLbForce, TRUE-强制刷新,FALSE-有invalid region才刷新
Returns
Remarks
通常要刷新一个窗口,应该使用Invalidate/InvalidateRect,这样系统中所有请求都会在 下一次刷新的时候被重新绘制。但是这可能会出现延时。为了能够立即重新绘制,可以调用Update

◆ UpdateChildrenPosition()

void IWindow::UpdateChildrenPosition ( )

强制重新布局子窗口

Returns

◆ UpdateLayout()

void IWindow::UpdateLayout ( )

重新布局当前窗口的子窗口,只在窗口布局脏了才生效

Returns

The documentation for this struct was generated from the following file: