3.15 时间控件
<p>日期控件由CSkinTimeView类来代表,继承于CSkinRelativeLayout,支持CSkinRelativeLayout的所有属性和方法。</p>
<h2>1 属性和相关方法:</h2>
<h4>1.1 设置时间</h4>
<ul>
<li>通过C++程序代码调用方法控制如下:
<pre><code class="language-c">void SetTime(LONG nHour, LONG nMinute, LONG nSecond);</code></pre></li>
</ul>
<h4>1.2 获取时间</h4>
<ul>
<li>通过C++程序代码调用方法控制如下:
<pre><code class="language-c">void GetTime(LONG&amp; nHour, LONG&amp; nMinute, LONG&amp; nSecond);</code></pre></li>
</ul>
<h2>请看下面的示例</h2>
<h4>效果图</h4>
<p><img src="http://www.skinui.cn/doc/img/3/15/1.png" alt="时间控件" /></p>
<h4>布局文件</h4>
<pre><code class="language-xml">&lt;SkinDialog DefaultWidth=&quot;400&quot; DefaultHeight=&quot;300&quot; SysButton=&quot;CLOSE&quot; Icon=&quot;128&quot; Caption=&quot;IDS_CONTROL_SHOW15&quot; Animation=&quot;SizeChange&quot;&gt;
&lt;SkinTimeView Id=&quot;101&quot; LayoutWidth=&quot;200&quot; LayoutHeight=&quot;30&quot; Layout=&quot;TimeView.xml&quot; Image=&quot;Edit.png&quot; AlignParentHorizontalCenter=&quot;0&quot; AlignParentVerticalCenter=&quot;-20&quot; /&gt;
&lt;SkinButton Id=&quot;102&quot; LayoutWidth=&quot;100&quot; LayoutHeight=&quot;30&quot; ChildText1=&quot;获取日期&quot; Image=&quot;Button.png&quot; Layout=&quot;Button.xml&quot; AlignParentHorizontalCenter=&quot;0&quot; AlignParentVerticalCenter=&quot;30&quot; /&gt;
&lt;/SkinDialog&gt;</code></pre>
<h4>h文件</h4>
<pre><code class="language-cpp">#pragma once
class CTimeViewDialog : public CSkinDialog
{
public:
enum
{
IDC_TIMEVIEW = 101,
IDC_BUTTON = 102,
};
public:
CTimeViewDialog(const tstring&amp; strXml);
public:
virtual void OnInitDialog();
protected:
void OnBtnClickedGetTime(UINT uNotifyCode, int nID, CSkinView* pView);
SKINUI_DECLARE_MESSAGE_MAP()
private:
CSkinTimeView* m_pTimeView;
};</code></pre>
<h4>cpp文件</h4>
<pre><code class="language-cpp">#include &quot;stdafx.h&quot;
#include &quot;TimeViewDialog.h&quot;
SKINUI_BEGIN_MESSAGE_MAP(CTimeViewDialog, CSkinDialog)
ON_SKINUI_COMMAND(IDC_BUTTON, OnBtnClickedGetTime)
SKINUI_END_MESSAGE_MAP()
CTimeViewDialog::CTimeViewDialog(const tstring&amp; strXml)
: CSkinDialog(strXml)
, m_pTimeView(NULL)
{
}
void CTimeViewDialog::OnInitDialog()
{
CSkinDialog::OnInitDialog();
m_pTimeView = static_cast&lt;CSkinTimeView*&gt;(GetChildById(IDC_TIMEVIEW));
if(m_pTimeView)
{
m_pTimeView-&gt;SetTime(12, 34, 56);
}
}
void CTimeViewDialog::OnBtnClickedGetTime(UINT uNotifyCode, int nID, CSkinView* pView)
{
if(m_pTimeView)
{
LONG nHour = 0, nMinute = 0, nSecond = 0;
m_pTimeView-&gt;GetTime(nHour, nMinute, nSecond);
MsgBox(SkinUI::StringFormat(_T(&quot;当前时间为:%d时%d分%d秒&quot;), nHour, nMinute, nSecond));
}
}</code></pre>