Radio-按钮元素-单选样式

单选按钮元素,特点在一组按钮中,每次保证只有一个按钮能够选中.

单选按钮分组方法:设置按钮的组ID, 相同组ID归为一组

步骤

  1. XBtn_Create()创建按钮元素.
  2. XBtn_SetTypeEx() 设置类型及样式
  3. XBtn_SetCheck()设置一个默认选择的按钮.
  4. XEle_SetGroupID()设置分组ID.

示例代码

#pragma comment(lib, "XCGUI.lib")
#include "xcgui.h"
int CALLBACK OnButtonCheck(HELE hButton, BOOL bCheck, BOOL* pbHandled)
{
if(bCheck)
XTRACE(L"OnButtonCheck() %s \n", XBtn_GetText(hButton));
return 0;
}
int WINAPI wWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPTSTR lpCmdLine, int nCmdShow)
{
XInitXCGUI(TRUE); //初始化
HWINDOW hWindow = XWnd_Create(0, 0, 300, 200, L"炫彩界面库窗口", NULL, window_style_default);
HELE hCheck1 = XBtn_Create(20, 40, 100, 20, L"Radio1", hWindow);
HELE hCheck2 = XBtn_Create(20, 70, 100, 20, L"Radio2", hWindow);
HELE hCheck3 = XBtn_Create(20, 100, 100, 20, L"Radio3", hWindow);
XBtn_SetGroupID(hCheck1, 1);
XBtn_SetGroupID(hCheck2, 1);
XBtn_SetGroupID(hCheck3, 1);
XBtn_SetCheck(hCheck1, TRUE);
XEle_RegEventC1(hCheck1, XE_BUTTON_CHECK, OnButtonCheck); //注册事件
XEle_RegEventC1(hCheck2, XE_BUTTON_CHECK, OnButtonCheck);
XEle_RegEventC1(hCheck3, XE_BUTTON_CHECK, OnButtonCheck);
XWnd_Show(hWindow, TRUE); //显示
XRunXCGUI(); //运行
XExitXCGUI(); //退出
return TRUE;
}
#define XE_BUTTON_CHECK
按钮选中事件
Definition: XCGUI.h:943
@ button_type_radio
单选按钮
Definition: XCGUI.h:295
@ window_style_default
窗口样式-控制按钮: 居中 图标, 标题, 关闭按钮, 最大化按钮, 最小化按钮
Definition: XCGUI.h:398
BOOL WINAPI XBtn_SetCheck(HELE hEle, BOOL bCheck)
按钮_置选中 设置选中状态.
Definition: ButtonUI.cpp:1800
void WINAPI XBtn_SetTypeEx(HELE hEle, XC_OBJECT_TYPE_EX nType)
按钮_置类型扩展 设置按钮类型并自动修改样式和文本对齐方式.
Definition: ButtonUI.cpp:1838
const wchar_t *WINAPI XBtn_GetText(HELE hEle)
按钮_取文本 获取文本内容.
Definition: ButtonUI.cpp:1952
HELE WINAPI XBtn_Create(int x, int y, int cx, int cy, const wchar_t *pName, HXCGUI hParent)
按钮_创建 创建按钮元素
Definition: ButtonUI.cpp:1765
void WINAPI XBtn_SetGroupID(HELE hEle, int nID)
按钮_置组ID 设置组ID.
Definition: ButtonUI.cpp:1848
void WINAPI XExitXCGUI()
炫彩_退出 退出界面库释放资源. 不可在dllmain()中卸载, 否则会死锁
Definition: App.cpp:572
void WINAPI XRunXCGUI()
炫彩_运行 运行消息循环,当炫彩窗口数量为0时退出.
Definition: App.cpp:564
BOOL WINAPI XInitXCGUI(BOOL bD2D)
炫彩_初始化 初始化界面库.
Definition: App.cpp:557
XEle_RegEventC1(hEle, nEvent, memberFunction)
元素_注册事件C1 注册元素事件, 回调函数不省略参数.
HWINDOW WINAPI XWnd_Create(int x, int y, int cx, int cy, const wchar_t *pTitle, HWND hWndParent, int XCStyle)
窗口_创建 创建窗口
Definition: WindowUI.cpp:5964
void WINAPI XWnd_Show(HWINDOW hWindow, BOOL bShow)
@窗口_显示 显示隐藏窗口
Definition: WindowUI.cpp:6373

示例代码(易语言)

.版本 2
.支持库 spec
.子程序 Button_按钮元素_单选
.局部变量 炫彩, 炫彩界面库
.局部变量 窗口, 炫彩窗口
.局部变量 单选按钮1, 炫彩按钮
.局部变量 单选按钮2, 炫彩按钮
.局部变量 单选按钮3, 炫彩按钮
炫彩.初始化 (真)
窗口.创建 (0, 0, 400, 300, “炫彩界面库”, 0, #窗口样式_默认)
单选按钮1.创建 (20, 50, 100, 24, “单选按钮1”, 窗口.取句柄 ())
单选按钮2.创建 (20, 90, 100, 24, “单选按钮2”, 窗口.取句柄 ())
单选按钮3.创建 (20, 130, 100, 24, “单选按钮3”, 窗口.取句柄 ())
单选按钮1.按钮_置类型扩展 (#按钮类型_单选)
单选按钮2.按钮_置类型扩展 (#按钮类型_单选)
单选按钮3.按钮_置类型扩展 (#按钮类型_单选)
单选按钮1.注册事件C1 (#XE_BUTTON_CHECK, &按钮_选中)
单选按钮2.注册事件C1 (#XE_BUTTON_CHECK, &按钮_选中)
单选按钮3.注册事件C1 (#XE_BUTTON_CHECK, &按钮_选中)
单选按钮1.置选中(真)
窗口.显示 (真)
炫彩.运行 ()
炫彩.退出 ()
.子程序 按钮_选中, 整数型, 公开, XE_BUTTON_CHECK: int CALLBACK OnButtonCheck(BOOL bCheck,BOOL *pbHandled)
.参数 元素句柄, 整数型
.参数 是否选中, 逻辑型
.参数 是否拦截, 逻辑型, 参考
.局部变量 按钮, 炫彩按钮
.如果真 (是否选中)
按钮.置句柄 (元素句柄)
调试输出 (“按钮选中事件:”, 按钮.取文本 ())
.如果真结束
返回 (0)

截图