HiEasyX  Ver 0.3.0
EasyX 全面扩展库
HiEasyX::SysRadioButton类 参考

系统单选框控件 更多...

#include <SysRadioButton.h>

类 HiEasyX::SysRadioButton 继承关系图:
HiEasyX::SysControlBase HiEasyX::Container

Public 成员函数

 SysRadioButton ()
 
 SysRadioButton (HWND hParent, RECT rct, std::wstring strText=L"")
 
 SysRadioButton (HWND hParent, int x, int y, int w, int h, std::wstring strText=L"")
 
LRESULT UpdateMessage (UINT msg, WPARAM wParam, LPARAM lParam, bool &bRet) override
 更新消息,此函数无需用户调用 更多...
 
void RegisterMessage (void(*pFunc)(bool checked))
 注册点击消息 更多...
 
bool IsChecked () const
 获取选中状态 更多...
 
void Check (bool check)
 
- Public 成员函数 继承自 HiEasyX::SysControlBase
 SysControlBase ()
 
virtual ~SysControlBase ()
 
void UpdateRect (RECT rctOld) override
 响应更新区域消息 更多...
 
HWND Create (HWND hParent, RECT rct, std::wstring strText=L"")
 
HWND Create (HWND hParent, int x, int y, int w, int h, std::wstring strText=L"")
 
void Remove ()
 移除控件 更多...
 
HWND GetHandle () const
 
SysControlType GetControlType () const
 获取此控件类型 更多...
 
bool IsEnable ()
 
void Enable (bool enable)
 
bool IsVisible ()
 
void Show (bool show)
 
bool IsFocused ()
 
void SetFocus (bool focused)
 
int GetTextLength ()
 
std::wstring GetText ()
 
void SetText (std::wstring wstr)
 
HFONT GetFont ()
 
void SetFont (int h, int w=0, std::wstring typeface=L"")
 
int GetID ()
 
- Public 成员函数 继承自 HiEasyX::Container
 Container ()
 
virtual ~Container ()
 
RECT GetRect () const
 
void SetRect (int x, int y, int w, int h)
 设置位置和宽高 更多...
 
void SetRect (RECT rct)
 设置矩形区域 更多...
 
POINT GetPos () const
 
int GetX () const
 
int GetY () const
 
void SetPos (int x, int y)
 
void SetPos (POINT pt)
 
void Move (int x, int y)
 
void MoveRel (int dx, int dy)
 
int GetWidth () const
 
void SetWidth (int w)
 
int GetHeight () const
 
void SetHeight (int h)
 
void Resize (int w, int h)
 

Protected 成员函数

void RealCreate (HWND hParent) override
 实际调用的创建控件函数(各种控件实现不同,但内部都调用 CreateControl 创建控件) 更多...
 
- Protected 成员函数 继承自 HiEasyX::SysControlBase
HWND CreateControl (HWND hParent, LPCTSTR lpszClassName, LPCTSTR lpszWindowName, DWORD dwStyle)
 创建控件 更多...
 

额外继承的成员函数

- Protected 属性 继承自 HiEasyX::SysControlBase
HWND m_hWnd = nullptr
 
HWND m_hParent = nullptr
 
int m_nID = 0
 
SysControlType m_type = SCT_Unknown
 
- Protected 属性 继承自 HiEasyX::Container
RECT m_rct = { 0 }
 容器区域 更多...
 

详细描述

系统单选框控件

在文件 SysRadioButton.h16 行定义.

构造及析构函数说明

◆ SysRadioButton() [1/3]

HiEasyX::SysRadioButton::SysRadioButton ( )

在文件 SysRadioButton.cpp16 行定义.

17  {
18  }

◆ SysRadioButton() [2/3]

HiEasyX::SysRadioButton::SysRadioButton ( HWND  hParent,
RECT  rct,
std::wstring  strText = L"" 
)

在文件 SysRadioButton.cpp20 行定义.

21  {
22  Create(hParent, rct, strText);
23  }

◆ SysRadioButton() [3/3]

HiEasyX::SysRadioButton::SysRadioButton ( HWND  hParent,
int  x,
int  y,
int  w,
int  h,
std::wstring  strText = L"" 
)

在文件 SysRadioButton.cpp25 行定义.

26  {
27  Create(hParent, x, y, w, h, strText);
28  }

成员函数说明

◆ Check()

void HiEasyX::SysRadioButton::Check ( bool  check)

在文件 SysRadioButton.cpp54 行定义.

55  {
56  Button_SetCheck(GetHandle(), check);
57  m_bChecked = check;
58  }

◆ IsChecked()

bool HiEasyX::SysRadioButton::IsChecked ( ) const
inline

获取选中状态

在文件 SysRadioButton.h45 行定义.

45 { return m_bChecked; }

◆ RealCreate()

void HiEasyX::SysRadioButton::RealCreate ( HWND  hParent)
overrideprotectedvirtual

实际调用的创建控件函数(各种控件实现不同,但内部都调用 CreateControl 创建控件)

参数
[in]hParent父控件句柄

实现了 HiEasyX::SysControlBase.

在文件 SysRadioButton.cpp5 行定义.

6  {
9  hParent,
10  L"Button",
11  L"",
12  WS_CHILD | WS_VISIBLE | WS_TABSTOP | BS_AUTORADIOBUTTON
13  );
14  }

◆ RegisterMessage()

void HiEasyX::SysRadioButton::RegisterMessage ( void(*)(bool checked)  pFunc)

注册点击消息

参数
[in]pFunc消息响应函数

在文件 SysRadioButton.cpp49 行定义.

50  {
51  m_pFunc = pFunc;
52  }

◆ UpdateMessage()

LRESULT HiEasyX::SysRadioButton::UpdateMessage ( UINT  msg,
WPARAM  wParam,
LPARAM  lParam,
bool &  bRet 
)
overridevirtual

更新消息,此函数无需用户调用

参数
[in]msg新消息
[in]wParam参数
[in]lParam参数
[out]bRet标记是否返回值
返回
不定返回值

重载 HiEasyX::SysControlBase .

在文件 SysRadioButton.cpp30 行定义.

31  {
32  if (msg == WM_COMMAND)
33  {
34  // 只要是按键按下消息就判断
35  // 不能只判断自己的消息,因为同组的其它单选框被选择时,自己收不到消息
36  if (HIWORD(wParam) == BN_CLICKED)
37  {
38  bool checked = Button_GetCheck(GetHandle());
39  if (m_pFunc && m_bChecked != checked)
40  m_pFunc(checked);
41  m_bChecked = checked;
42  }
43  }
44 
45  bRet = false;
46  return 0;
47  }

该类的文档由以下文件生成:
HiEasyX::SCT_RadioButton
Definition: SysControlBase.h:27
HiEasyX::SysControlBase::CreateControl
HWND CreateControl(HWND hParent, LPCTSTR lpszClassName, LPCTSTR lpszWindowName, DWORD dwStyle)
创建控件
Definition: SysControlBase.cpp:17
HiEasyX::SysControlBase::GetHandle
HWND GetHandle() const
Definition: SysControlBase.h:109
HiEasyX::SysControlBase::m_type
SysControlType m_type
Definition: SysControlBase.h:51
HiEasyX::SysControlBase::Create
HWND Create(HWND hParent, RECT rct, std::wstring strText=L"")
Definition: SysControlBase.cpp:58
HiEasyX::SysControlBase::m_hWnd
HWND m_hWnd
Definition: SysControlBase.h:48