SOUI-button-check-radio

checkbox

响应事件和button一样

void OnBtnShowFloat();

//soui消息
EVENT_MAP_BEGIN()
EVENT_NAME_COMMAND(L"chkShowFlow", OnBtnShowFloat)
...
EVENT_MAP_END()

void CMainDlg::OnBtnShowFloat()
{
SCheckBox* chk = (SCheckBox*)FindChildByName(L"chkAutoRecg");
if (chk->IsChecked())
{
g_curInfo.isShowFloat = 1;
}
else
{
g_curInfo.isShowFloat = 0;
}
}

button

pos,offset 定位的, inset没找到定义暂时不知
name是控件名字,text是控件显示文字
在xml布局文件里面定义

<button pos="|0,[" offset="-1.1,0" inset="4,4,4,4" name="btn_demo" text="按钮文字"/>
// 头文件里面添加映射
void OnDemo();

void CMainDlg::OnDemo()
{
SMessageBox(nullptr, L"显示信息 tips", L"caption", MB_RETRYCANCEL| MB_ICONEXCLAMATION);
}

protected:
//soui消息
EVENT_MAP_BEGIN()
EVENT_NAME_COMMAND(L"btn_close", OnClose)
EVENT_NAME_COMMAND(L"btn_min", OnMinimize)
EVENT_NAME_COMMAND(L"btn_max", OnMaximize)
EVENT_NAME_COMMAND(L"btn_restore", OnRestore)
EVENT_NAME_COMMAND(L"btn_demo", OnDemo)
EVENT_MAP_END()

动态绑定事件

SWindow *pBtnClose = FindChildByID(R.id.btn_close);
pBtnClose->GetEventSet()->subscribeEvent(EventCmd::EventID,Subscriber(&CMainDlg::OnCmdClose,this));