为什么procedure TForm1.DriveComboBox1Change(Sender: TObject);不起作用(50分)

  • 主题发起人 主题发起人 haibin_song
  • 开始时间 开始时间
H

haibin_song

Unregistered / Unconfirmed
GUEST, unregistred user!
小弟才开始学Delphi,请大虾帮忙


为什么程序运行后,驱动器的选择不能反映到目录列表框和文件列表框
里面去,难道是 procedure TForm1.DriveComboBox1Change(Sender: TObject);
这个过程中还缺少什么命令吗?
unit mlu;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs,FileCtrl, ExtCtrls, StdCtrls;
type
TForm1 = class(TForm)
procedure FormCreate(Sender: TObject);
procedure DriveComboBox1Change(Sender:TObject );
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
Driv: TDriveComboBox; //驱动器
Split,Split1:TSplitter; //分割条
Dirs:TDirectoryListBox; //目录列表框
Files: TFileListBox; // 文件列表框
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
begin
Dirs:=TDirectoryListBox.Create(Form1);
Dirs.Parent:=Form1;
Dirs.Align:=alLeft;
Split:=TSplitter.Create(Form1);
Split.Parent:=Form1;
Split.Beveled:=True;
Split.Left:=Dirs.Left+Dirs.Width+10;
Split.Align:=Dirs.Align;
Split.MinSize:=Form1.ClientWidth div 4;
Files:=TFileListBox.Create(Form1);
Files.Parent:=Form1;
Files.Align:=alClient;
Split1:=TSplitter.Create(Form1);

Split1.Parent:=Form1;
Split1.Beveled:=True;
Split1.Left:=Files.Left+Files.Width+10;
Split1.Align:=Files.Align;
Split1.MinSize:=Form1.ClientWidth div 4;
Driv:=TDriveComboBox.Create(Form1);
Driv.Parent:=Form1;
Driv.Align:=alClient;
end;
procedure TForm1.DriveComboBox1Change(Sender: TObject);
begin
Dirs.Drive:=Driv.Drive;
Files.Drive:=Driv.Drive;
Files.Directory:=Dirs.Directory;
Dirs.FileList:=Files;
end;
end.
 
不用写语句就可以实现的,将DriveComboBox1的属性DirList设为DirectoryListBox1
将DirectoryListBox1的属性FileList设为FileListBox1
这样就达到你的目的了。
 
后退
顶部