SimpleWindow
载入中...
搜索中...
未找到
sw::WndBase类 参考abstract

表示一个Windows窗口,是所有窗口和控件的基类 更多...

#include <WndBase.h>

类 sw::WndBase 继承关系图:
sw::Timer sw::ToolTip sw::UIElement sw::BallonToolTip sw::Control sw::Layer sw::ItemsControl< StrList > sw::Animation sw::ButtonBase sw::DateTimePicker sw::HotKeyControl sw::ItemsControl< TItem > sw::MonthCalendar sw::PanelBase sw::ProgressBar sw::Slider sw::StaticControl sw::StatusBar sw::SysLink sw::TabControl sw::TextBoxBase sw::PanelBase sw::Window

Public 成员函数

virtual ~WndBase ()=0
 析构函数,这里用纯虚函数使该类成为抽象类
 
bool operator== (const WndBase &other) const
 判断两个WndBase是否为同一实例
 
bool operator!= (const WndBase &other) const
 判断两个WndBase是否为不同实例
 
void Show (int nCmdShow)
 该函数调用ShowWindow
 
void Close ()
 发送关闭消息
 
void Update ()
 该函数调用UpdateWindow
 
void UpdateFont ()
 更新字体
 
HFONT GetFontHandle ()
 获取字体句柄
 
void Redraw (bool erase=false, bool updateWindow=false)
 重画
 
bool IsControl ()
 判断当前对象是否是控件
 
bool IsVisible ()
 判断当前对象在界面中是否可视,与Visible属性不同的是该函数返回值会受父窗口的影响
 
DWORD GetStyle ()
 获取窗口样式
 
void SetStyle (DWORD style)
 设置窗口样式
 
bool GetStyle (DWORD mask)
 判断窗口是否设有指定样式
 
void SetStyle (DWORD mask, bool value)
 打开或关闭指定的样式
 
DWORD GetExtendedStyle ()
 获取扩展窗口样式
 
void SetExtendedStyle (DWORD style)
 设置扩展窗口样式
 
bool GetExtendedStyle (DWORD mask)
 判断窗口是否设有指定扩展样式
 
void SetExtendedStyle (DWORD mask, bool value)
 打开或关闭指定的扩展样式
 
Point PointToScreen (const Point &point)
 获取用户区点在屏幕上点的位置
 
Point PointFromScreen (const Point &screenPoint)
 获取屏幕上点在当前用户区点的位置
 
LRESULT SendMessageA (UINT uMsg, WPARAM wParam, LPARAM lParam)
 发送消息(ASCII)
 
LRESULT SendMessageW (UINT uMsg, WPARAM wParam, LPARAM lParam)
 发送消息(UNICODE)
 
HitTestResult NcHitTest (const Point &testPoint)
 测试指定点在窗口的哪一部分
 

静态 Public 成员函数

static WndBaseGetWndBase (HWND hwnd)
 通过窗口句柄获取WndBase
 

Public 属性

const ReadOnlyProperty< HWND > Handle
 窗口句柄
 
const Property< sw::FontFont
 字体
 
const Property< std::wstring > FontName
 字体名称
 
const Property< double > FontSize
 字体大小
 
const Property< sw::FontWeight > FontWeight
 字体粗细
 
const Property< sw::RectRect
 位置和尺寸
 
const Property< double > Left
 左边
 
const Property< double > Top
 顶边
 
const Property< double > Width
 宽度
 
const Property< double > Height
 高度
 
const ReadOnlyProperty< sw::RectClientRect
 用户区尺寸
 
const ReadOnlyProperty< double > ClientWidth
 用户区宽度
 
const ReadOnlyProperty< double > ClientHeight
 用户区高度
 
const Property< bool > Enabled
 窗口或控件是否可用
 
const Property< bool > Visible
 窗口或控件是否可见
 
const Property< std::wstring > Text
 窗口标题或控件文本
 
const Property< bool > Focused
 窗口是否拥有焦点
 
const ReadOnlyPtrProperty< WndBase * > Parent
 父窗口
 
const ReadOnlyProperty< bool > IsDestroyed
 是否已销毁,当该值为true时不应该继续使用当前对象
 
const Property< bool > AcceptFiles
 是否接受拖放文件
 

Protected 成员函数

 WndBase ()
 初始化WndBase
 
 WndBase (const WndBase &)=delete
 
 WndBase (WndBase &&)=delete
 
WndBaseoperator= (const WndBase &)=delete
 
WndBaseoperator= (WndBase &&)=delete
 
void InitWindow (LPCWSTR lpWindowName, DWORD dwStyle, DWORD dwExStyle)
 初始化为窗口,该函数会调用CreateWindowExW
 
void InitControl (LPCWSTR lpClassName, LPCWSTR lpWindowName, DWORD dwStyle, DWORD dwExStyle)
 初始化为控件,该函数会调用CreateWindowExW
 
LRESULT DefaultWndProc (const ProcMsg &refMsg)
 调用默认的WndProc,对于窗口则调用DefWindowProcW,控件则调用_controlOldWndProc
 
virtual LRESULT WndProc (const ProcMsg &refMsg)
 对WndProc的封装
 
void UpdateText ()
 更新_text字段
 
virtual std::wstring & GetText ()
 获取窗口文本
 
virtual void SetText (const std::wstring &value)
 调用SetWindowTextW设置窗口文本
 
virtual bool OnCreate ()
 接收到WM_CREATE时调用该函数
 
virtual bool OnClose ()
 接收到WM_CLOSE时调用该函数
 
virtual bool OnDestroy ()
 接收到WM_DESTROY时调用该函数
 
virtual bool OnPaint ()
 接收到WM_PAINT时调用该函数
 
virtual void OnEndPaint ()
 在OnPaint函数完成之后调用该函数
 
virtual bool OnMove (Point newClientPosition)
 接收到WM_MOVE时调用该函数
 
virtual bool OnSize (Size newClientSize)
 接收到WM_SIZE时调用该函数
 
virtual void OnTextChanged ()
 Text属性更改时调用此函数
 
virtual bool OnSetFocus (HWND hPrevFocus)
 接收到WM_SETFOCUS时调用该函数
 
virtual bool OnKillFocus (HWND hNextFocus)
 接收到WM_KILLFOCUS时调用该函数
 
virtual bool OnMouseMove (Point mousePosition, MouseKey keyState)
 接收到WM_MOUSEMOVE时调用该函数
 
virtual bool OnMouseLeave ()
 接收到WM_MOUSELEAVE时调用该函数
 
virtual bool OnMouseWheel (int wheelDelta, Point mousePosition, MouseKey keyState)
 接收到WM_MOUSEWHEEL时调用该函数
 
virtual bool OnMouseLeftButtonDown (Point mousePosition, MouseKey keyState)
 接收到WM_LBUTTONDOWN时调用该函数
 
virtual bool OnMouseLeftButtonUp (Point mousePosition, MouseKey keyState)
 接收到WM_LBUTTONUP时调用该函数
 
virtual bool OnMouseLeftButtonDoubleClick (Point mousePosition, MouseKey keyState)
 接收到WM_LBUTTONDBLCLK时调用该函数
 
virtual bool OnMouseRightButtonDown (Point mousePosition, MouseKey keyState)
 接收到WM_RBUTTONDOWN时调用该函数
 
virtual bool OnMouseRightButtonUp (Point mousePosition, MouseKey keyState)
 接收到WM_RBUTTONUP时调用该函数
 
virtual bool OnMouseRightButtonDoubleClick (Point mousePosition, MouseKey keyState)
 接收到WM_RBUTTONDBLCLK时调用该函数
 
virtual bool OnMouseMiddleButtonDown (Point mousePosition, MouseKey keyState)
 接收到WM_MBUTTONDOWN时调用该函数
 
virtual bool OnMouseMiddleButtonUp (Point mousePosition, MouseKey keyState)
 接收到WM_MBUTTONUP时调用该函数
 
virtual bool OnMouseMiddleButtonDoubleClick (Point mousePosition, MouseKey keyState)
 接收到WM_MBUTTONDBLCLK时调用该函数
 
virtual bool OnChar (wchar_t ch, KeyFlags flags)
 接收到WM_CHAR时调用该函数
 
virtual bool OnDeadChar (wchar_t ch, KeyFlags flags)
 接收到WM_DEADCHAR时调用该函数
 
virtual bool OnKeyDown (VirtualKey key, KeyFlags flags)
 接收到WM_KEYDOWN时调用该函数
 
virtual bool OnKeyUp (VirtualKey key, KeyFlags flags)
 接收到WM_KEYUP时调用该函数
 
virtual bool OnSysChar (wchar_t ch, KeyFlags flags)
 接收到WM_SYSCHAR时调用该函数
 
virtual bool OnSysDeadChar (wchar_t ch, KeyFlags flags)
 接收到WM_SYSDEADCHAR时调用该函数
 
virtual bool OnSysKeyDown (VirtualKey key, KeyFlags flags)
 接收到WM_SYSKEYDOWN时调用该函数
 
virtual bool OnSysKeyUp (VirtualKey key, KeyFlags flags)
 接收到WM_SYSKEYUP时调用该函数
 
virtual void VisibleChanged (bool newVisible)
 Visible属性改变时调用此函数
 
virtual bool SetParent (WndBase *parent)
 设置父窗口
 
virtual void ParentChanged (WndBase *newParent)
 父窗口改变时调用此函数
 
virtual void OnCommand (int code)
 当父窗口接收到控件的WM_COMMAND时调用该函数
 
virtual void OnControlCommand (WndBase *pControl, int code, int id)
 当WM_COMMAND接收到控件命令时调用该函数
 
virtual void OnMenuCommand (int id)
 当WM_COMMAND接收到菜单命令时调用该函数
 
virtual void OnAcceleratorCommand (int id)
 当WM_COMMAND接收到快捷键命令时调用该函数
 
virtual void HandleInitialized (HWND hwnd)
 窗口句柄初始化完成
 
virtual void FontChanged (HFONT hfont)
 字体改变时调用该函数
 
virtual bool OnSetCursor (HWND hwnd, HitTestResult hitTest, int message, bool &result)
 接收到WM_SETCURSOR消息时调用该函数
 
virtual bool OnContextMenu (bool isKeyboardMsg, Point mousePosition)
 接收到WM_CONTEXTMENU后调用目标控件的该函数
 
virtual bool OnNotify (NMHDR *pNMHDR, LRESULT &result)
 接收到WM_NOTIFY后调用该函数
 
virtual bool OnNotified (NMHDR *pNMHDR, LRESULT &result)
 父窗口接收到WM_NOTIFY后且父窗口OnNotify函数返回false时调用发出通知控件的该函数
 
virtual bool OnVerticalScroll (int event, int pos)
 接收到WM_VSCROLL时调用目标控件的该函数
 
virtual bool OnHorizontalScroll (int event, int pos)
 接收到WM_HSCROLL时调用目标控件的该函数
 
virtual bool OnEnabledChanged (bool newValue)
 接收到WM_ENABLE时调用该函数
 
virtual bool OnCtlColor (WndBase *pControl, HDC hdc, HBRUSH &hRetBrush)
 接收到WM_CTLCOLORxxx时调用该函数
 
virtual bool OnColor (HDC hdc, HBRUSH &hRetBrush)
 父窗口接收到WM_CTLCOLORxxx时调用对应控件的该函数
 
virtual void OnNcHitTest (const Point &testPoint, HitTestResult &result)
 接收到WM_NCHITTEST后调用该函数
 
virtual bool OnEraseBackground (int &result)
 接收到WM_ERASEBKGND时调用该函数
 
virtual bool OnDrawItem (int id, DRAWITEMSTRUCT *pDrawItem)
 接收到WM_DRAWITEM时调用该函数
 
virtual bool OnDropFiles (HDROP hDrop)
 接收到WM_DROPFILES时调用该函数
 

友元

class Control
 

详细描述

表示一个Windows窗口,是所有窗口和控件的基类

成员函数说明

◆ FontChanged()

virtual void sw::WndBase::FontChanged ( HFONT hfont)
protectedvirtual

字体改变时调用该函数

参数
hfont字体句柄

sw::IPAddressControl, sw::Label , 以及 sw::SysLink 重载.

◆ GetExtendedStyle()

bool sw::WndBase::GetExtendedStyle ( DWORD mask)

判断窗口是否设有指定扩展样式

参数
mask扩展样式的位掩码,可以是多个扩展样式

◆ GetStyle()

bool sw::WndBase::GetStyle ( DWORD mask)

判断窗口是否设有指定样式

参数
mask样式的位掩码,可以是多个样式

◆ GetText()

virtual std::wstring & sw::WndBase::GetText ( )
protectedvirtual

获取窗口文本

返回
_text字段

sw::ComboBox , 以及 sw::TextBoxBase 重载.

◆ GetWndBase()

static WndBase * sw::WndBase::GetWndBase ( HWND hwnd)
static

通过窗口句柄获取WndBase

参数
hwnd窗口句柄
返回
若函数成功则返回对象的指针,否则返回nullptr

◆ HandleInitialized()

virtual void sw::WndBase::HandleInitialized ( HWND hwnd)
protectedvirtual

窗口句柄初始化完成

参数
hwnd窗口句柄

◆ NcHitTest()

HitTestResult sw::WndBase::NcHitTest ( const Point & testPoint)

测试指定点在窗口的哪一部分

参数
testPoint要测试的点在屏幕中的位置

◆ OnAcceleratorCommand()

virtual void sw::WndBase::OnAcceleratorCommand ( int id)
protectedvirtual

当WM_COMMAND接收到快捷键命令时调用该函数

参数
id快捷键id

◆ OnChar()

virtual bool sw::WndBase::OnChar ( wchar_t ch,
KeyFlags flags )
protectedvirtual

接收到WM_CHAR时调用该函数

参数
ch按键的字符代码
flags附加信息
返回
若已处理该消息则返回true,否则返回false以调用DefaultWndProc

sw::TextBoxBase , 以及 sw::UIElement 重载.

◆ OnClose()

virtual bool sw::WndBase::OnClose ( )
protectedvirtual

接收到WM_CLOSE时调用该函数

返回
若已处理该消息则返回true,否则返回false以调用DefaultWndProc

sw::UIElement , 以及 sw::Window 重载.

◆ OnColor()

virtual bool sw::WndBase::OnColor ( HDC hdc,
HBRUSH & hRetBrush )
protectedvirtual

父窗口接收到WM_CTLCOLORxxx时调用对应控件的该函数

参数
hdc控件的显示上下文句柄
hRetBrush要返回的画笔
返回
若返回true则将hRetBrush作为消息的返回值,否则使用DefaultWndProc的返回值

sw::UIElement 重载.

◆ OnCommand()

virtual void sw::WndBase::OnCommand ( int code)
protectedvirtual

当父窗口接收到控件的WM_COMMAND时调用该函数

参数
code通知代码

sw::ButtonBase, sw::ComboBox, sw::HotKeyControl, sw::ListBox , 以及 sw::TextBoxBase 重载.

◆ OnContextMenu()

virtual bool sw::WndBase::OnContextMenu ( bool isKeyboardMsg,
Point mousePosition )
protectedvirtual

接收到WM_CONTEXTMENU后调用目标控件的该函数

参数
isKeyboardMsg消息是否由按下快捷键(Shift+F10、VK_APPS)产生
mousePosition鼠标在屏幕中的位置
返回
若已处理该消息则返回true,否则返回false以调用DefaultWndProc

sw::ListBox , 以及 sw::UIElement 重载.

◆ OnControlCommand()

virtual void sw::WndBase::OnControlCommand ( WndBase * pControl,
int code,
int id )
protectedvirtual

当WM_COMMAND接收到控件命令时调用该函数

参数
pControl控件对象指针
code通知代码
id控件id

◆ OnCreate()

virtual bool sw::WndBase::OnCreate ( )
protectedvirtual

接收到WM_CREATE时调用该函数

返回
若已处理该消息则返回true,否则返回false以调用DefaultWndProc

◆ OnCtlColor()

virtual bool sw::WndBase::OnCtlColor ( WndBase * pControl,
HDC hdc,
HBRUSH & hRetBrush )
protectedvirtual

接收到WM_CTLCOLORxxx时调用该函数

参数
pControl消息相关的控件
hdc控件的显示上下文句柄
hRetBrush要返回的画笔
返回
若返回true则将hRetBrush作为消息的返回值,否则使用DefaultWndProc的返回值

◆ OnDeadChar()

virtual bool sw::WndBase::OnDeadChar ( wchar_t ch,
KeyFlags flags )
protectedvirtual

接收到WM_DEADCHAR时调用该函数

参数
ch按键的字符代码
flags附加信息
返回
若已处理该消息则返回true,否则返回false以调用DefaultWndProc

◆ OnDestroy()

virtual bool sw::WndBase::OnDestroy ( )
protectedvirtual

接收到WM_DESTROY时调用该函数

返回
若已处理该消息则返回true,否则返回false以调用DefaultWndProc

sw::BmpBox, sw::HwndHost, sw::IconBox , 以及 sw::Window 重载.

◆ OnDrawItem()

virtual bool sw::WndBase::OnDrawItem ( int id,
DRAWITEMSTRUCT * pDrawItem )
protectedvirtual

接收到WM_DRAWITEM时调用该函数

参数
id控件的标识符,若消息是通过菜单发送的则此参数为零
pDrawItem包含有关要绘制的项和所需绘图类型的信息的结构体指针
返回
若已处理该消息则返回true,否则返回false以调用DefaultWndProc

◆ OnDropFiles()

virtual bool sw::WndBase::OnDropFiles ( HDROP hDrop)
protectedvirtual

接收到WM_DROPFILES时调用该函数

参数
hDrop描述拖入文件的句柄
返回
若已处理该消息则返回true,否则返回false以调用DefaultWndProc

sw::UIElement 重载.

◆ OnEnabledChanged()

virtual bool sw::WndBase::OnEnabledChanged ( bool newValue)
protectedvirtual

接收到WM_ENABLE时调用该函数

参数
newValueEnabled的新值
返回
若已处理该消息则返回true,否则返回false以调用DefaultWndProc

◆ OnEndPaint()

virtual void sw::WndBase::OnEndPaint ( )
protectedvirtual

在OnPaint函数完成之后调用该函数

sw::UIElement 重载.

◆ OnEraseBackground()

virtual bool sw::WndBase::OnEraseBackground ( int & result)
protectedvirtual

接收到WM_ERASEBKGND时调用该函数

参数
result若已处理该消息则设为非零值,默认值为0
返回
若返回true则将result作为消息的返回值,否则使用DefaultWndProc的返回值

sw::Window 重载.

◆ OnHorizontalScroll()

virtual bool sw::WndBase::OnHorizontalScroll ( int event,
int pos )
protectedvirtual

接收到WM_HSCROLL时调用目标控件的该函数

参数
event事件类型,即消息wParam的低字
pos当前滚动条的位置,仅当event为SB_THUMBPOSITION或SB_THUMBTRACK时有效
返回
若已处理该消息则返回true,否则返回false以调用DefaultWndProc

sw::Layer, sw::PanelBase , 以及 sw::Slider 重载.

◆ OnKeyDown()

virtual bool sw::WndBase::OnKeyDown ( VirtualKey key,
KeyFlags flags )
protectedvirtual

接收到WM_KEYDOWN时调用该函数

参数
key虚拟按键
flags附加信息
返回
若已处理该消息则返回true,否则返回false以调用DefaultWndProc

sw::Button, sw::TextBoxBase , 以及 sw::UIElement 重载.

◆ OnKeyUp()

virtual bool sw::WndBase::OnKeyUp ( VirtualKey key,
KeyFlags flags )
protectedvirtual

接收到WM_KEYUP时调用该函数

参数
key虚拟按键
flags附加信息
返回
若已处理该消息则返回true,否则返回false以调用DefaultWndProc

sw::UIElement 重载.

◆ OnKillFocus()

virtual bool sw::WndBase::OnKillFocus ( HWND hNextFocus)
protectedvirtual

接收到WM_KILLFOCUS时调用该函数

参数
hNextFocus接收到焦点的hwnd,可能为NULL
返回
若已处理该消息则返回true,否则返回false以调用DefaultWndProc

sw::Button , 以及 sw::UIElement 重载.

◆ OnMenuCommand()

virtual void sw::WndBase::OnMenuCommand ( int id)
protectedvirtual

当WM_COMMAND接收到菜单命令时调用该函数

参数
id菜单id

sw::UIElement , 以及 sw::Window 重载.

◆ OnMouseLeave()

virtual bool sw::WndBase::OnMouseLeave ( )
protectedvirtual

接收到WM_MOUSELEAVE时调用该函数

返回
若已处理该消息则返回true,否则返回false以调用DefaultWndProc

sw::UIElement 重载.

◆ OnMouseLeftButtonDoubleClick()

virtual bool sw::WndBase::OnMouseLeftButtonDoubleClick ( Point mousePosition,
MouseKey keyState )
protectedvirtual

接收到WM_LBUTTONDBLCLK时调用该函数

参数
mousePosition鼠标在用户区中的位置
keyState指示某些按键是否按下
返回
若已处理该消息则返回true,否则返回false以调用DefaultWndProc

◆ OnMouseLeftButtonDown()

virtual bool sw::WndBase::OnMouseLeftButtonDown ( Point mousePosition,
MouseKey keyState )
protectedvirtual

接收到WM_LBUTTONDOWN时调用该函数

参数
mousePosition鼠标在用户区中的位置
keyState指示某些按键是否按下
返回
若已处理该消息则返回true,否则返回false以调用DefaultWndProc

sw::UIElement 重载.

◆ OnMouseLeftButtonUp()

virtual bool sw::WndBase::OnMouseLeftButtonUp ( Point mousePosition,
MouseKey keyState )
protectedvirtual

接收到WM_LBUTTONUP时调用该函数

参数
mousePosition鼠标在用户区中的位置
keyState指示某些按键是否按下
返回
若已处理该消息则返回true,否则返回false以调用DefaultWndProc

sw::UIElement 重载.

◆ OnMouseMiddleButtonDoubleClick()

virtual bool sw::WndBase::OnMouseMiddleButtonDoubleClick ( Point mousePosition,
MouseKey keyState )
protectedvirtual

接收到WM_MBUTTONDBLCLK时调用该函数

参数
mousePosition鼠标在用户区中的位置
keyState指示某些按键是否按下
返回
若已处理该消息则返回true,否则返回false以调用DefaultWndProc

◆ OnMouseMiddleButtonDown()

virtual bool sw::WndBase::OnMouseMiddleButtonDown ( Point mousePosition,
MouseKey keyState )
protectedvirtual

接收到WM_MBUTTONDOWN时调用该函数

参数
mousePosition鼠标在用户区中的位置
keyState指示某些按键是否按下
返回
若已处理该消息则返回true,否则返回false以调用DefaultWndProc

sw::UIElement 重载.

◆ OnMouseMiddleButtonUp()

virtual bool sw::WndBase::OnMouseMiddleButtonUp ( Point mousePosition,
MouseKey keyState )
protectedvirtual

接收到WM_MBUTTONUP时调用该函数

参数
mousePosition鼠标在用户区中的位置
keyState指示某些按键是否按下
返回
若已处理该消息则返回true,否则返回false以调用DefaultWndProc

sw::UIElement 重载.

◆ OnMouseMove()

virtual bool sw::WndBase::OnMouseMove ( Point mousePosition,
MouseKey keyState )
protectedvirtual

接收到WM_MOUSEMOVE时调用该函数

参数
mousePosition鼠标在用户区中的位置
keyState指示某些按键是否按下
返回
若已处理该消息则返回true,否则返回false以调用DefaultWndProc

sw::UIElement 重载.

◆ OnMouseRightButtonDoubleClick()

virtual bool sw::WndBase::OnMouseRightButtonDoubleClick ( Point mousePosition,
MouseKey keyState )
protectedvirtual

接收到WM_RBUTTONDBLCLK时调用该函数

参数
mousePosition鼠标在用户区中的位置
keyState指示某些按键是否按下
返回
若已处理该消息则返回true,否则返回false以调用DefaultWndProc

◆ OnMouseRightButtonDown()

virtual bool sw::WndBase::OnMouseRightButtonDown ( Point mousePosition,
MouseKey keyState )
protectedvirtual

接收到WM_RBUTTONDOWN时调用该函数

参数
mousePosition鼠标在用户区中的位置
keyState指示某些按键是否按下
返回
若已处理该消息则返回true,否则返回false以调用DefaultWndProc

sw::UIElement 重载.

◆ OnMouseRightButtonUp()

virtual bool sw::WndBase::OnMouseRightButtonUp ( Point mousePosition,
MouseKey keyState )
protectedvirtual

接收到WM_RBUTTONUP时调用该函数

参数
mousePosition鼠标在用户区中的位置
keyState指示某些按键是否按下
返回
若已处理该消息则返回true,否则返回false以调用DefaultWndProc

sw::UIElement 重载.

◆ OnMouseWheel()

virtual bool sw::WndBase::OnMouseWheel ( int wheelDelta,
Point mousePosition,
MouseKey keyState )
protectedvirtual

接收到WM_MOUSEWHEEL时调用该函数

参数
wheelDelta滚轮滚动的距离,为120的倍数
mousePosition鼠标在用户区中的位置
keyState指示某些按键是否按下
返回
若已处理该消息则返回true,否则返回false以调用DefaultWndProc

sw::UIElement 重载.

◆ OnMove()

virtual bool sw::WndBase::OnMove ( Point newClientPosition)
protectedvirtual

接收到WM_MOVE时调用该函数

参数
newClientPosition移动后用户区左上角的位置
返回
若已处理该消息则返回true,否则返回false以调用DefaultWndProc

sw::UIElement 重载.

◆ OnNcHitTest()

virtual void sw::WndBase::OnNcHitTest ( const Point & testPoint,
HitTestResult & result )
protectedvirtual

接收到WM_NCHITTEST后调用该函数

参数
testPoint要测试的点在屏幕中的位置
result测试的结果,默认为调用DefaultWndProc的结果

◆ OnNotified()

virtual bool sw::WndBase::OnNotified ( NMHDR * pNMHDR,
LRESULT & result )
protectedvirtual

父窗口接收到WM_NOTIFY后且父窗口OnNotify函数返回false时调用发出通知控件的该函数

参数
pNMHDR包含有关通知消息的信息
result函数返回值为true时将该值作为消息的返回值
返回
若已处理该消息则返回true,否则返回false以调用DefaultWndProc

sw::DateTimePicker, sw::ListView, sw::MonthCalendar, sw::SysLink , 以及 sw::TabControl 重载.

◆ OnNotify()

virtual bool sw::WndBase::OnNotify ( NMHDR * pNMHDR,
LRESULT & result )
protectedvirtual

接收到WM_NOTIFY后调用该函数

参数
pNMHDR包含有关通知消息的信息
result函数返回值为true时将该值作为消息的返回值,默认值为0
返回
若已处理该消息则返回true,否则调用发出通知控件的OnNotified函数,依据其返回值判断是否调用DefaultWndProc

sw::IPAddressControl , 以及 sw::ListView 重载.

◆ OnPaint()

virtual bool sw::WndBase::OnPaint ( )
protectedvirtual

接收到WM_PAINT时调用该函数

返回
若已处理该消息则返回true,否则返回false以调用DefaultWndProc

sw::BmpBox, sw::Panel, sw::Splitter , 以及 sw::Window 重载.

◆ OnSetCursor()

virtual bool sw::WndBase::OnSetCursor ( HWND hwnd,
HitTestResult hitTest,
int message,
bool & result )
protectedvirtual

接收到WM_SETCURSOR消息时调用该函数

参数
hwnd鼠标所在窗口的句柄
hitTesthit-test的结果,详见WM_NCHITTEST消息的返回值
message触发该事件的鼠标消息,如WM_MOUSEMOVE
result消息的返回值,默认为false
返回
若返回true则将result作为消息的返回值,否则使用DefaultWndProc的返回值

sw::UIElement 重载.

◆ OnSetFocus()

virtual bool sw::WndBase::OnSetFocus ( HWND hPrevFocus)
protectedvirtual

接收到WM_SETFOCUS时调用该函数

参数
hPrevFocus丢失焦点的hwnd,可能为NULL
返回
若已处理该消息则返回true,否则返回false以调用DefaultWndProc

sw::Button, sw::IPAddressControl , 以及 sw::UIElement 重载.

◆ OnSize()

virtual bool sw::WndBase::OnSize ( Size newClientSize)
protectedvirtual

接收到WM_SIZE时调用该函数

参数
newClientSize改变后的用户区尺寸
返回
若已处理该消息则返回true,否则返回false以调用DefaultWndProc

sw::BmpBox, sw::HwndHost, sw::Label, sw::Panel, sw::Splitter , 以及 sw::UIElement 重载.

◆ OnSysChar()

virtual bool sw::WndBase::OnSysChar ( wchar_t ch,
KeyFlags flags )
protectedvirtual

接收到WM_SYSCHAR时调用该函数

参数
ch按键的字符代码
flags附加信息
返回
若已处理该消息则返回true,否则返回false以调用DefaultWndProc

◆ OnSysDeadChar()

virtual bool sw::WndBase::OnSysDeadChar ( wchar_t ch,
KeyFlags flags )
protectedvirtual

接收到WM_SYSDEADCHAR时调用该函数

参数
ch按键的字符代码
flags附加信息
返回
若已处理该消息则返回true,否则返回false以调用DefaultWndProc

◆ OnSysKeyDown()

virtual bool sw::WndBase::OnSysKeyDown ( VirtualKey key,
KeyFlags flags )
protectedvirtual

接收到WM_SYSKEYDOWN时调用该函数

参数
key虚拟按键
flags附加信息
返回
若已处理该消息则返回true,否则返回false以调用DefaultWndProc

◆ OnSysKeyUp()

virtual bool sw::WndBase::OnSysKeyUp ( VirtualKey key,
KeyFlags flags )
protectedvirtual

接收到WM_SYSKEYUP时调用该函数

参数
key虚拟按键
flags附加信息
返回
若已处理该消息则返回true,否则返回false以调用DefaultWndProc

◆ OnTextChanged()

virtual void sw::WndBase::OnTextChanged ( )
protectedvirtual

Text属性更改时调用此函数

sw::Label, sw::SysLink , 以及 sw::UIElement 重载.

◆ OnVerticalScroll()

virtual bool sw::WndBase::OnVerticalScroll ( int event,
int pos )
protectedvirtual

接收到WM_VSCROLL时调用目标控件的该函数

参数
event事件类型,即消息wParam的低字
pos当前滚动条的位置,仅当event为SB_THUMBPOSITION或SB_THUMBTRACK时有效
返回
若已处理该消息则返回true,否则返回false以调用DefaultWndProc

sw::Layer, sw::PanelBase , 以及 sw::Slider 重载.

◆ ParentChanged()

virtual void sw::WndBase::ParentChanged ( WndBase * newParent)
protectedvirtual

父窗口改变时调用此函数

参数
newParent新的父窗口

sw::UIElement 重载.

◆ PointFromScreen()

Point sw::WndBase::PointFromScreen ( const Point & screenPoint)

获取屏幕上点在当前用户区点的位置

参数
screenPoint屏幕上点的坐标
返回
该点在用户区的坐标

◆ PointToScreen()

Point sw::WndBase::PointToScreen ( const Point & point)

获取用户区点在屏幕上点的位置

参数
point用户区坐标
返回
该点在屏幕上的坐标

◆ Redraw()

void sw::WndBase::Redraw ( bool erase = false,
bool updateWindow = false )

重画

参数
erase是否擦除旧的背景
updateWindow是否调用UpdateWindow

◆ SetExtendedStyle()

void sw::WndBase::SetExtendedStyle ( DWORD mask,
bool value )

打开或关闭指定的扩展样式

参数
mask扩展样式的位掩码,可以是多个扩展样式
value是否启用指定的扩展样式

◆ SetParent()

virtual bool sw::WndBase::SetParent ( WndBase * parent)
protectedvirtual

设置父窗口

返回
设置是否成功

sw::UIElement 重载.

◆ SetStyle()

void sw::WndBase::SetStyle ( DWORD mask,
bool value )

打开或关闭指定的样式

参数
mask样式的位掩码,可以是多个样式
value是否启用指定的样式

◆ SetText()

virtual void sw::WndBase::SetText ( const std::wstring & value)
protectedvirtual

调用SetWindowTextW设置窗口文本

参数
value要设置的文本

sw::ComboBox 重载.

◆ VisibleChanged()

virtual void sw::WndBase::VisibleChanged ( bool newVisible)
protectedvirtual

Visible属性改变时调用此函数

sw::UIElement 重载.

◆ WndProc()

virtual LRESULT sw::WndBase::WndProc ( const ProcMsg & refMsg)
protectedvirtual

对WndProc的封装

sw::Window 重载.


该类的文档由以下文件生成: