📄 c++ builder 程序设计实用教程 - 2_5 日期时间组件 - 张晋 - 17xie.htm
字号:
style="MARGIN-LEFT: 42pt; TEXT-INDENT: -21pt; tab-stops: list 42.0pt; mso-list: l0 level1 lfo1"><SPAN
lang=EN-US
style="FONT-FAMILY: Wingdings; mso-fareast-font-family: Wingdings; mso-bidi-font-family: Wingdings"><SPAN
style="mso-list: Ignore">n<SPAN
style="FONT: 7pt 'Times New Roman'">
</SPAN></SPAN></SPAN><SPAN lang=EN-US>CCalendar</SPAN><SPAN
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">组件:充当程序的运算工具,程序运行时的数据运算都是在</SPAN><SPAN
lang=EN-US>Calendar</SPAN><SPAN
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">组件的内部完成的;</SPAN></P>
<P class=MsoNormalIndent
style="MARGIN-LEFT: 42pt; TEXT-INDENT: -21pt; tab-stops: list 42.0pt; mso-list: l0 level1 lfo1"><SPAN
lang=EN-US
style="FONT-FAMILY: Wingdings; mso-fareast-font-family: Wingdings; mso-bidi-font-family: Wingdings"><SPAN
style="mso-list: Ignore">n<SPAN
style="FONT: 7pt 'Times New Roman'">
</SPAN></SPAN></SPAN><SPAN lang=EN-US>CSpinButton</SPAN><SPAN
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">组件:用于微调相应的年、月、日;</SPAN></P>
<P class=MsoNormalIndent
style="MARGIN-LEFT: 42pt; TEXT-INDENT: -21pt; tab-stops: list 42.0pt; mso-list: l0 level1 lfo1"><SPAN
lang=EN-US
style="FONT-FAMILY: Wingdings; mso-fareast-font-family: Wingdings; mso-bidi-font-family: Wingdings"><SPAN
style="mso-list: Ignore">n<SPAN
style="FONT: 7pt 'Times New Roman'">
</SPAN></SPAN></SPAN><SPAN lang=EN-US>Label</SPAN><SPAN
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">组件:在程序运行的过程中用于动态显示系统当前时间的容器;</SPAN></P>
<P class=MsoNormalIndent
style="MARGIN-LEFT: 42pt; TEXT-INDENT: -21pt; tab-stops: list 42.0pt; mso-list: l0 level1 lfo1"><SPAN
lang=EN-US
style="FONT-FAMILY: Wingdings; mso-fareast-font-family: Wingdings; mso-bidi-font-family: Wingdings"><SPAN
style="mso-list: Ignore">n<SPAN
style="FONT: 7pt 'Times New Roman'">
</SPAN></SPAN></SPAN><SPAN lang=EN-US>Timer</SPAN><SPAN
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">组件:为程序能够实现动态的时间日期查询提供一个计时器。</SPAN></P>
<P class=MsoNormalIndent><SPAN
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">好了,下面我们就开始制作这个日期查询程序吧,具体的程序设计过程如下所示:</SPAN></P>
<H4><SPAN lang=EN-US>1</SPAN><SPAN
style="FONT-FAMILY: 楷体_GB2312; mso-ascii-font-family: 'Times New Roman'">.开始工作</SPAN></H4>
<P class=MsoNormalIndent><SPAN
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">首先启动一个新的项目,选择菜单</SPAN><SPAN
lang=EN-US>File</SPAN><SPAN
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">中的</SPAN><SPAN
lang=EN-US>New Application</SPAN><SPAN
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">项,在</SPAN><SPAN
lang=EN-US>CBuilder 5</SPAN><SPAN
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的集成开发环境中就会弹出一个新建的窗体,在组件工具栏上选择</SPAN><SPAN
lang=EN-US>Standard</SPAN><SPAN
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">选项后,在</SPAN><SPAN
lang=EN-US>Button</SPAN><SPAN
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">组件的图标上双击鼠标的左键,这时空白的窗体上就会出现一个按钮组件。</SPAN></P>
<P class=MsoNormalIndent><SPAN
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">添加按钮组件后,把鼠标移动到组件工具栏上的其它选项上,向窗体上添加</SPAN><SPAN
lang=EN-US>1</SPAN><SPAN
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">个</SPAN><SPAN
lang=EN-US>CCalendar</SPAN><SPAN
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">组件、</SPAN><SPAN
lang=EN-US>3</SPAN><SPAN
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">个</SPAN><SPAN
lang=EN-US>CSpinButton</SPAN><SPAN
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">组件、</SPAN><SPAN
lang=EN-US>1</SPAN><SPAN
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">个</SPAN><SPAN
lang=EN-US>Timer</SPAN><SPAN
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">组件、</SPAN><SPAN
lang=EN-US>1</SPAN><SPAN
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">个</SPAN><SPAN
lang=EN-US>Label</SPAN><SPAN
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">组件和</SPAN><SPAN
lang=EN-US>4</SPAN><SPAN
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">个</SPAN><SPAN
lang=EN-US>Edit</SPAN><SPAN
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">组件,各个组件的功能在前面已经介绍过了。添加组件后的窗体如图</SPAN><SPAN
lang=EN-US>2-22</SPAN><SPAN
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">所示。</SPAN></P>
<P class=a0><SPAN lang=EN-US><IMG height=170
src="C++ Builder 程序设计实用教程 - 2_5 日期时间组件 - 张晋 - 17xie.files/aa7db7a918.jpg"
width=284 v:shapes="_x0000_i1026"></SPAN></P>
<P class=MsoCaption><SPAN
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">图</SPAN><SPAN
lang=EN-US>2-22<SPAN style="mso-spacerun: yes"> </SPAN></SPAN><SPAN
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">添加组件后的窗体</SPAN></P>
<P class=MsoNormalIndent><SPAN
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">用户可以通过打开相应的窗体文件查看这些属性的设置情况,如果用户自己手动的改变了窗体文件中的属性设置,改动的结果将会直接的反映到程序设计的窗体中。</SPAN></P>
<H4><SPAN lang=EN-US>2</SPAN><SPAN
style="FONT-FAMILY: 楷体_GB2312; mso-ascii-font-family: 'Times New Roman'">.程序的初始化</SPAN></H4>
<P class=MsoNormalIndent><SPAN
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">在程序的设计过程中,用鼠标的左键双击窗体中的空白处,在屏幕上就会弹出一个代码窗口,光标的缺省位置是在窗体</SPAN><SPAN
lang=EN-US>FormCreate()</SPAN><SPAN
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">事件的处理过程中,在光标的当前位置添加如下代码:</SPAN></P>
<P class=a3><SPAN lang=EN-US>void __fastcall TForm1::FormCreate(TObject
*Sender)</SPAN></P>
<P class=a3><SPAN lang=EN-US>{</SPAN></P>
<P class=a3><SPAN lang=EN-US>Form1->Edit1->Text="</SPAN><SPAN
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">请输入年份</SPAN><SPAN
lang=EN-US>";</SPAN></P>
<P class=a3><SPAN lang=EN-US>Form1->Edit2->Text="</SPAN><SPAN
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">请输入月份</SPAN><SPAN
lang=EN-US>";</SPAN></P>
<P class=a3><SPAN lang=EN-US>Form1->Edit3->Text="</SPAN><SPAN
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">请输入日期</SPAN><SPAN
lang=EN-US>";</SPAN></P>
<P class=a3><SPAN lang=EN-US>//</SPAN><SPAN
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">文本组件的初始化</SPAN></P>
<P class=a3><SPAN lang=EN-US>Form1->CCalendar1->Year=1977;</SPAN></P>
<P class=a3><SPAN lang=EN-US>Form1->CCalendar1->Month=1;</SPAN></P>
<P class=a3><SPAN lang=EN-US>Form1->CCalendar1->Day=19;</SPAN></P>
<P class=a3><SPAN lang=EN-US>//CCalendar</SPAN><SPAN
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">组件的初始化</SPAN></P>
<P class=a3><SPAN lang=EN-US>Form1->CCalendar1->Enabled=false;</SPAN></P>
<P class=a3><SPAN lang=EN-US>Form1->Edit1->Enabled=false;</SPAN></P>
<P class=a3><SPAN lang=EN-US>Form1->Edit2->Enabled=false;</SPAN></P>
<P class=a3><SPAN lang=EN-US>Form1->Edit3->Enabled=false;</SPAN></P>
<P class=a3><SPAN
lang=EN-US>Form1->CSpinButton1->Enabled=false;</SPAN></P>
<P class=a3><SPAN
lang=EN-US>Form1->CSpinButton2->Enabled=false;</SPAN></P>
<P class=a3><SPAN
lang=EN-US>Form1->CSpinButton3->Enabled=false;</SPAN></P>
<P class=a3><SPAN lang=EN-US>Form1->Timer1->Enabled=false;</SPAN></P>
<P class=a3><SPAN lang=EN-US>}</SPAN></P>
<P class=a3><SPAN
lang=EN-US>//---------------------------------------------------------------------------</SPAN></P>
<P class=MsoNormalIndent><SPAN
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">在程序运行时,首先执行窗体</SPAN><SPAN
lang=EN-US>FormCreate()</SPAN><SPAN
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">事件中的代码,通过前面三条语句可以完成对文本框组件的初始化工作,设置第一个文本框显示“请输入年份”,设置第二个文本框显示“请输入月份”,设置第三个文本框显示“请输入日期”;在对</SPAN><SPAN
lang=EN-US>CCalendar</SPAN><SPAN
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">组件进行初始化的过程中,把当前的日期显示设置为</SPAN><SPAN
lang=EN-US>1977</SPAN><SPAN
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">年</SPAN><SPAN
lang=EN-US>1</SPAN><SPAN
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">月</SPAN><SPAN
lang=EN-US>19</SPAN><SPAN
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">日,最后通过一系列语句完成了对组件有效状态的设置。经过这样初始化的</SPAN><SPAN
lang=EN-US>CCalendar</SPAN><SPAN
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">组件如图</SPAN><SPAN
lang=EN-US>2-23</SPAN><SPAN
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">所示。</SPAN></P>
<P class=a0><SPAN lang=EN-US><IMG height=151
src="C++ Builder 程序设计实用教程 - 2_5 日期时间组件 - 张晋 - 17xie.files/9241ff669a.jpg"
width=213 v:shapes="_x0000_i1027"></SPAN></P>
<P class=MsoCaption><SPAN
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">图</SPAN><SPAN
lang=EN-US>2-23<SPAN style="mso-spacerun: yes">
</SPAN>CCalendar</SPAN><SPAN
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">组件的初始化</SPAN></P>
<H4><SPAN lang=EN-US>3</SPAN><SPAN
style="FONT-FAMILY: 楷体_GB2312; mso-ascii-font-family: 'Times New Roman'">.响应</SPAN><SPAN
lang=EN-US>CCalendar</SPAN><SPAN
style="FONT-FAMILY: 楷体_GB2312; mso-ascii-font-family: 'Times New Roman'">事件</SPAN></H4>
<P class=MsoNormalIndent><SPAN
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">在程序设计的过程中用鼠标的左键单击</SPAN><SPAN
lang=EN-US>CCalendar</SPAN><SPAN
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">组件的事件列表框,激活事件列表框后,双击其中的</SPAN><SPAN
lang=EN-US>OnChange</SPAN><SPAN
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">事件,在屏幕上就会弹出一个</SPAN><SPAN
lang=EN-US>CCalendar</SPAN><SPAN
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -