📄 c++ builder 程序设计实用教程 - 5_5 利用文件类控件 - 张晋 - 17xie.htm
字号:
style="mso-list: Ignore">n<SPAN
style="FONT: 7pt 'Times New Roman'">
</SPAN></SPAN></SPAN><SPAN lang=EN-US>FileListBox</SPAN><SPAN
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">控件的作用是显示当前路径中符合条件的所有文件列表,以供用户选择和操作;</SPAN></P>
<P class=MsoNormal
style="MARGIN-LEFT: 42.5pt; TEXT-INDENT: -21.25pt; mso-list: l1 level1 lfo2; tab-stops: list 21.25pt"><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>FilterComboBox</SPAN><SPAN
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">控件的作用是为用户提供从文件列表框中筛选文件的条件;</SPAN></P>
<P class=MsoNormal
style="MARGIN-LEFT: 42.5pt; TEXT-INDENT: -21.25pt; mso-list: l1 level1 lfo2; tab-stops: list 21.25pt"><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>Edit</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>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></P>
<P class=MsoNormalIndent><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><SPAN style="mso-spacerun: yes">
</SPAN>object DriveComboBox1: </SPAN></P>
<P class=a3><SPAN lang=EN-US><SPAN
style="mso-spacerun: yes">
</SPAN>TDriveComboBox</SPAN></P>
<P class=a3><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">
</SPAN>Left = 8</SPAN></P>
<P class=a3><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">
</SPAN>Top = 8</SPAN></P>
<P class=a3><SPAN lang=EN-US><SPAN style="mso-spacerun: yes"> </SPAN><SPAN
style="mso-spacerun: yes"> </SPAN>Width = 217</SPAN></P>
<P class=a3><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">
</SPAN>Height = 22</SPAN></P>
<P class=a3><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">
</SPAN>OnChange = DriveComboBox1Change</SPAN></P>
<P class=a3><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">
</SPAN>end</SPAN></P>
<P class=a3><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">
</SPAN>object DirectoryListBox1: </SPAN></P>
<P class=a3><SPAN lang=EN-US><SPAN
style="mso-spacerun: yes">
</SPAN>TDirectoryListBox</SPAN></P>
<P class=a3><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">
</SPAN>Left = 8</SPAN></P>
<P class=a3><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">
</SPAN>Top = 40</SPAN></P>
<P class=a3><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">
</SPAN>Width = 217</SPAN></P>
<P class=a3><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">
</SPAN>Height = 145</SPAN></P>
<P class=a3><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">
</SPAN>OnChange = DirectoryListBox1Change</SPAN></P>
<P class=a3><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">
</SPAN>end</SPAN></P>
<P class=a3><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">
</SPAN>object FileListBox1: TFileListBox</SPAN></P>
<P class=a3><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">
</SPAN>Left = 232</SPAN></P>
<P class=a3><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">
</SPAN>Top = 8</SPAN></P>
<P class=a3><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">
</SPAN>Width = 185</SPAN></P>
<P class=a3><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">
</SPAN>Height = 209</SPAN></P>
<P class=a3><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">
</SPAN>OnChange = FileListBox1Change</SPAN></P>
<P class=a3><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">
</SPAN>end</SPAN></P>
<P class=a3><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">
</SPAN>object FilterComboBox1: </SPAN></P>
<P class=a3><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">
</SPAN>TFilterComboBox</SPAN></P>
<P class=a3><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">
</SPAN>Left = 8</SPAN></P>
<P class=a3><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">
</SPAN>Top = 192</SPAN></P>
<P class=a3><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">
</SPAN>Width = 217</SPAN></P>
<P class=a3><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">
</SPAN>Height = 24</SPAN></P>
<P class=a3><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">
</SPAN>Filter = 'All files (*.*)|*.*|DLL </SPAN></P>
<P class=a3><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">
</SPAN>files(*.dll)|*.dll|Text files(*.txt)|*.t' +</SPAN></P>
<P class=a3><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">
</SPAN>'xt|BMP flies(*.bmp)|*.bmp|ICO </SPAN></P>
<P class=a3><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">
</SPAN>files(*.ico)|*.ico'</SPAN></P>
<P class=a3><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">
</SPAN>end</SPAN></P>
<P class=a3><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">
</SPAN>object Edit1: TEdit</SPAN></P>
<P class=a3><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">
</SPAN>Left = 8</SPAN></P>
<P class=a3><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">
</SPAN>Top = 224</SPAN></P>
<P class=a3><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">
</SPAN>Width = 409</SPAN></P>
<P class=a3><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">
</SPAN>Height = 24</SPAN></P>
<P class=a3><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">
</SPAN>Text = '*.*'</SPAN></P>
<P class=a3><SPAN lang=EN-US><SPAN style="mso-spacerun: yes">
</SPAN>end</SPAN></P>
<H4><SPAN lang=EN-US>3</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>DriveComboBox</SPAN><SPAN
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">控件的</SPAN><SPAN
lang=EN-US>DriveComboBox1Change()</SPAN><SPAN
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">事件中添加响应驱动器改变的代码。在程序的设计过程中,用鼠标的左键双击控件</SPAN><SPAN
lang=EN-US>DriveComboBox1</SPAN><SPAN
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">,在屏幕上就会弹出一个代码窗口。在缺省的情况下,代码窗口中显示的是</SPAN><SPAN
lang=EN-US>DriveComboBox</SPAN><SPAN
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">控件的</SPAN><SPAN
lang=EN-US>DriveComboBox1Change()</SPAN><SPAN
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">事件代码段,把光标移动到</SPAN><SPAN
lang=EN-US>DriveComboBox1Change()</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::DriveComboBox1Change(TObject *Sender)</SPAN></P>
<P class=a3><SPAN lang=EN-US>{</SPAN></P>
<P class=a3><SPAN
lang=EN-US>Form1->DirectoryListBox1->Drive=Form1->DriveComboBox1->Drive;</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><SPAN
lang=EN-US>DirectoryListBox1</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>}</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></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>DriveComboBox1</SPAN><SPAN
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">中的驱动器时,就会激活</SPAN><SPAN
lang=EN-US>DriveComboBox1</SPAN><SPAN
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">控件的</SPAN><SPAN
lang=EN-US>DriveComboBox1Change()</SPAN><SPAN
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">,然后通过语句</SPAN><SPAN
lang=EN-US>Form1->Directory
ListBox1->Drive=Form1->DriveComboBox1->Drive;</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>4</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>DirectoryListBox1</SPAN><SPAN
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">,在屏幕上就会弹出一个代码窗口,代码窗口中显示的是</SPAN><SPAN
lang=EN-US>DirectoryListBox</SPAN><SPAN
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">控件的</SPAN><SPAN
lang=EN-US>DirectoryListBox1Change()</SPAN><SPAN
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">事件代码段,把光标移动到</SPAN><SPAN
lang=EN-US>DirectoryListBox1Change()</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::DirectoryListBox1Change(TObject *Sender)</SPAN></P>
<P class=a3><SPAN lang=EN-US>{</SPAN></P>
<P class=a3><SPAN
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -