SkinUI5.0官方文档

SkinUI5.0官方文档


复选框

<p>超链CCheckBox,继承于CButton,支持CButton的所有属性和方法。</p> <h2>属性和相关方法</h2> <h4>设置复选框是否选中</h4> <ul> <li>通过XML属性控制如下:</li> </ul> <pre><code class="language-xml">Checked="true"</code></pre> <ul> <li>通过C++程序代码调用方法控制如下:</li> </ul> <pre><code class="language-c">virtual void SetChecked(BOOL bChecked);</code></pre> <h4>设置复选框的选中状态</h4> <p>复选框的选中状态有:完全选中状态、部分选中状态和未选中状态。</p> <ul> <li>通过C++程序代码调用方法控制如下:</li> </ul> <pre><code class="language-c">void SetCheckedState(CheckedState state);</code></pre> <h2>消息处理</h2> <h4>WM_COMMAND消息</h4> <p>单击鼠标左键抬起时,如果复选框Id不为0,会给所在的窗口发送WM_COMMAND消息。</p> <ul> <li>参考下面的示例代码:</li> </ul> <pre><code class="language-cpp">void CCheckBox::HandleLButtonUp(CPoint point, BOOL&amp; bHandle) { if(GetState() == PRESSED) { SetChecked(!IsChecked()); if(GetId() != 0) { GetOwner()-&gt;PostMessage(WM_COMMAND, GetId(), reinterpret_cast&lt;LPARAM&gt;(this)); } } SetState(HOVER); Redraw(); }</code></pre> <h4>WM_CHECKBOX_CHECKED_CHANGE消息</h4> <p>复选框选中状态发生变化时,会给所在窗口发送自定义消息WM_CHECKBOX_STATE_CHANGE。</p> <ul> <li>参考下面的示例代码:</li> </ul> <pre><code class="language-cpp">void CCheckBox::SetChecked(BOOL bChecked) { BOOL bOldChecked = IsChecked(); if(bOldChecked != bChecked) { SetCheckedState(bChecked ? CHECKED : UNCHECKED); GetOwner()-&gt;SendMessage(WM_CHECKBOX_CHECKED_CHANGE, GetId(), reinterpret_cast&lt;LPARAM&gt;(this)); } }</code></pre> <ul> <li>消息处理示例:</li> </ul> <pre><code class="language-cpp">void OnComboBoxChange(LONG nId, CComboBox* pComboBox, BOOL&amp; bHandle); SKINUI_DECLARE_MESSAGE_MAP()</code></pre> <pre><code class="language-cpp">SKINUI_BEGIN_MESSAGE_MAP(CDemoCheckBoxLayout, CScrollLayout) ON_SKINUI_WM_COMBOBOX_CHANGE() SKINUI_END_MESSAGE_MAP() void CDemoCheckBoxLayout::OnCheckBoxChange(LONG nId, CCheckBox* pCheckBox, BOOL&amp; bHandle) { bHandle = TRUE; }</code></pre> <h2>示例</h2> <h4>效果图</h4> <p><img src="http://www.skinui.cn/doc/img/5.0/3/CheckBox.png" alt="超链" /></p> <h4>普通复选框</h4> <pre><code class="language-xml">&lt;CheckBox Id="1000" Width="WrapContent" Height="WrapContent" AlignParentLeft="0" AlignParentVertCenter="0"Layout="CheckBox.xml" ChildText11="普通复选框"/&gt; &lt;CheckBox Id="1001" Width="WrapContent" Height="WrapContent" ToRightOf="1000,20" AlignParentVertCenter="0" Layout="CheckBox.xml" ChildText11="普通复选框" Checked="true"/&gt;</code></pre> <h4>复选框不带文字</h4> <pre><code class="language-xml">&lt;CheckBox Id="1000" Width="WrapContent" Height="WrapContent" AlignParentLeft="0" AlignParentVertCenter="0"Layout="CheckBox.xml"/&gt; &lt;CheckBox Id="1001" Width="WrapContent" Height="WrapContent" ToRightOf="1000,20" AlignParentVertCenter="0" Layout="CheckBox.xml" Checked="true"/&gt;</code></pre> <h4>复选框带图标</h4> <pre><code class="language-xml">&lt;CheckBox Id="1000" Width="WrapContent" Height="WrapContent" AlignParentLeft="0" AlignParentVertCenter="0"Layout="CheckBoxWithIcon.xml" ChildImage11="Icon.png" ChildText12="复选框带图标"/&gt; &lt;CheckBox Id="1001" Width="WrapContent" Height="WrapContent" ToRightOf="1000,20" AlignParentVertCenter="0" Layout="CheckBoxWithIcon.xml" ChildImage11="Icon.png" ChildText12="复选框带图标" Checked="true"/&gt;</code></pre> <h4>复选框带图标不带文字</h4> <pre><code class="language-xml">&lt;CheckBox Id="1000" Width="WrapContent" Height="WrapContent" AlignParentLeft="0" AlignParentVertCenter="0"Layout="CheckBoxWithIcon.xml" ChildImage11="Icon.png"/&gt; &lt;CheckBox Id="1001" Width="WrapContent" Height="WrapContent" ToRightOf="1000,20" AlignParentVertCenter="0" Layout="CheckBoxWithIcon.xml" ChildImage11="Icon.png" Checked="true"/&gt;</code></pre>

页面列表

ITEM_HTML