📄 unit_list.pas
字号:
unit Unit_List;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, jpeg, ExtCtrls,ShellApi,Buttons, StdCtrls, CheckLst;
type
TFrm_List = class(TForm)
Image: TImage;
CheckListBox: TCheckListBox;
Sp_Add: TSpeedButton;
Sp_Load: TSpeedButton;
Sp_Play: TSpeedButton;
Sp_Quit: TSpeedButton;
Sp_Save: TSpeedButton;
OpenDialog: TOpenDialog;
SaveDialog: TSaveDialog;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure Sp_AddClick(Sender: TObject);
procedure Sp_QuitClick(Sender: TObject);
procedure CheckListBoxDblClick(Sender: TObject);
procedure Sp_LoadClick(Sender: TObject);
procedure Sp_SaveClick(Sender: TObject);
procedure Sp_PlayClick(Sender: TObject);
procedure DragDropFiles(var msg:TMessage);message WM_DROPFILES;
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Frm_List: TFrm_List;
implementation
uses Unit_Main;
{$R *.dfm}
procedure TFrm_List.FormClose(Sender: TObject; var Action: TCloseAction);
begin
try
Action:=CaFree;
Frm_Main.List_Boot:=False;
except
exit;
end;
end;
procedure TFrm_List.Sp_AddClick(Sender: TObject);
begin
try
Frm_Main.Menu_OpenM.Click;
Frm_List.CheckListBox.Items:=Frm_Main.CheckListBox.Items;
except
exit;
end;
end;
procedure TFrm_List.Sp_QuitClick(Sender: TObject);
begin
try
Frm_List.Close;
except
exit;
end;
end;
procedure TFrm_List.CheckListBoxDblClick(Sender: TObject);
begin
try
Frm_Main.Play_Sounder(Frm_List.CheckListBox.Items.Strings[Frm_List.CheckListBox.ItemIndex]);
Frm_Main.CheckListBox.ItemIndex:=Frm_List.CheckListBox.ItemIndex;
except
exit;
end;
end;
procedure TFrm_List.Sp_LoadClick(Sender: TObject);
begin
try
Frm_List.OpenDialog.Title := Frm_Main.Caption;
if Frm_List.OpenDialog.Execute then
Frm_Main.CheckListBox.Items.LoadFromFile(Frm_List.OpenDialog.FileName);
Frm_List.CheckListBox.Items:=Frm_Main.CheckListBox.Items;
except
exit;
end;
end;
procedure TFrm_List.Sp_SaveClick(Sender: TObject);
begin
try
Frm_List.SaveDialog.Title := Frm_Main.Caption;
if Frm_List.SaveDialog.Execute then
Frm_List.CheckListBox.Items.SaveToFile(Frm_List.SaveDialog.FileName);
except
exit;
end;
end;
procedure TFrm_List.Sp_PlayClick(Sender: TObject);
begin
try
Frm_Main.Play_Sounder(Frm_List.CheckListBox.Items.Strings[Frm_List.CheckListBox.ItemIndex]);
Frm_Main.CheckListBox.ItemIndex:=Frm_List.CheckListBox.ItemIndex;
except
exit;
end;
end;
procedure TFrm_List.DragDropFiles(var msg: TMessage);
var
char1:array[0..128]of char; // 缓冲区
char2:pchar;
i,Sum:Integer;
begin
try
// 获得拖拉的文件数目,该功能由第二个参数决定
sum:=DragQueryFile(msg.WParam,$FFFFFFFF,nil,0);
// 显示拖拉文件的数目
// Label1.caption:='拖过来的文件有'+inttostr(Sum)+'个。';
char2:=@char1;
for i:=0 to Sum-1 do
begin
// 获取第i 个拖拉文件的名字,并保存在缓冲区c h a r 2 中
DragQueryFile(msg.WParam,i,char2,128);
// 在M e m o 1 中显示拖拉文件的名字
Frm_List.CheckListBox.Items.Add(char2);
Frm_Main.CheckListBox.Items.Add(char2);
end;
// 释放应用程序为传递文件名而开辟的内存空间
DragFinish(msg.WParam);
except
exit;
end;
end;
procedure TFrm_List.FormCreate(Sender: TObject);
begin
DragAcceptFiles(Handle,True);
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -