tooloptionsfrm.pas
来自「一个电力企业的后台管理程序」· PAS 代码 · 共 206 行
PAS
206 行
unit ToolOptionsFrm;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
Buttons, StdCtrls;
type
TMenuStatus=(MenuAdd,MenuEdit);
TForm_ToolOptions = class(TForm)
Label1: TLabel;
ListBox1: TListBox;
SB_Add: TSpeedButton;
SB_delete: TSpeedButton;
SB_edit: TSpeedButton;
SB_up: TSpeedButton;
SB_down: TSpeedButton;
SB_close: TSpeedButton;
SB_OK: TSpeedButton;
ListBox2: TListBox;
procedure SB_closeClick(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure SB_AddClick(Sender: TObject);
procedure SB_editClick(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure ListBox1Click(Sender: TObject);
procedure SB_deleteClick(Sender: TObject);
procedure SB_upClick(Sender: TObject);
procedure SB_downClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure SB_OKClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form_ToolOptions: TForm_ToolOptions;
MenuStatus:TMenuStatus;
EditInt:integer;
implementation
uses AutoMenuFrm,MemuOption,ToolPropertyFrm;
{$R *.DFM}
procedure TForm_ToolOptions.SB_closeClick(Sender: TObject);
begin
ModalResult := mrCancel;
end;
procedure TForm_ToolOptions.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
Action:=CaFree;
Form_ToolOptions:=nil;
end;
procedure TForm_ToolOptions.SB_AddClick(Sender: TObject);
begin
MenuStatus:=MenuAdd;
if not Assigned(Form_ToolProperty) then application.CreateForm(TForm_ToolProperty,Form_ToolProperty);
Form_ToolProperty.ShowModal;
end;
procedure TForm_ToolOptions.SB_editClick(Sender: TObject);
var
i:integer;
begin
MenuStatus:=MenuEdit;
i:=listbox1.ItemIndex;
EditInt:=i;
if not Assigned(Form_ToolProperty) then application.CreateForm(TForm_ToolProperty,Form_ToolProperty);
Form_ToolProperty.Edt_Title.Text:=listbox1.Items.Strings[i];
Form_ToolProperty.Edt_program.Text:=listbox2.Items.Strings[i];
Form_ToolProperty.ShowModal;
end;
procedure TForm_ToolOptions.FormShow(Sender: TObject);
begin
if listbox1.ItemIndex=-1 then
begin
SB_delete.Enabled:=false;
SB_edit.Enabled:=false;
end else
begin
SB_delete.Enabled:=true;
SB_edit.Enabled:=true;
end;
end;
procedure TForm_ToolOptions.ListBox1Click(Sender: TObject);
begin
if listbox1.ItemIndex=-1 then
begin
SB_delete.Enabled:=false;
SB_edit.Enabled:=false;
end else
begin
SB_delete.Enabled:=true;
SB_edit.Enabled:=true;
end;
end;
procedure TForm_ToolOptions.SB_deleteClick(Sender: TObject);
var
i:integer;
begin
if listbox1.ItemIndex<>-1 then
begin
i:=listbox1.ItemIndex;
listbox1.Items.Delete(i);
listbox2.Items.Delete(i);
end;
if listbox1.ItemIndex=-1 then
begin
SB_delete.Enabled:=false;
SB_edit.Enabled:=false;
end else
begin
SB_delete.Enabled:=true;
SB_edit.Enabled:=true;
end;
end;
procedure TForm_ToolOptions.SB_upClick(Sender: TObject);
var
i:integer;
begin
if listbox1.ItemIndex>0 then
begin
i:=listbox1.ItemIndex;
listbox1.Items.Move(i,i-1);
listbox2.Items.Move(i,i-1);
end;
end;
procedure TForm_ToolOptions.SB_downClick(Sender: TObject);
var
i:integer;
begin
if (listbox1.ItemIndex<>-1)and(listbox1.ItemIndex<>listbox1.Items.Count-1) then
begin
i:=listbox1.ItemIndex;
listbox1.Items.Move(i,i+1);
listbox2.Items.Move(i,i+1);
end;
end;
procedure TForm_ToolOptions.FormCreate(Sender: TObject);
var
TSign,PSign:integer;
TitleStr,ProgramStr:string;
begin
listbox1.Items.Clear;
TitleStr:=ReadIni('Option','MenuTitle','');
ProgramStr:=ReadIni('Option','MenuProgram','');
if (TitleStr<>'')and(ProgramStr<>'') then
begin
if pos(';',TitleStr)>0 then
begin
while pos(';',TitleStr)>0 do
begin
TSign:=pos(';',TitleStr); PSign:=pos(';',ProgramStr);
listbox1.Items.Append(copy(TitleStr,1,TSign-1));
listbox2.Items.Append(copy(ProgramStr,1,PSign-1));
TitleStr:=copy(TitleStr,TSign+1,Length(TitleStr)-TSign);
programStr:=copy(ProgramStr,PSign+1,Length(ProgramStr)-PSign);
end;
end;
if pos(';',TitleStr)=0 then
begin
listbox1.Items.Append(TitleStr);
listbox2.Items.Append(ProgramStr);
end;
end;
end;
procedure TForm_ToolOptions.SB_OKClick(Sender: TObject);
var
TitleStr,ProgramStr:string;
i:integer;
begin
TitleStr:=''; ProgramStr:='';
WriteIni('System','MenuCount',IntToStr(ListBox1.Items.Count));
for i:=1 to ListBox1.Items.Count do
begin
if i>1 then
begin
TitleStr:=TitleStr+';'+ListBox1.Items.Strings[i-1];
ProgramStr:=ProgramStr+';'+ListBox2.Items.Strings[i-1];
end else
begin
TitleStr:=TitleStr+ListBox1.Items.Strings[i-1];
ProgramStr:=ProgramStr+ListBox2.Items.Strings[i-1];
end;
end;
WriteIni('Option','MenuTitle',TitleStr);
WriteIni('Option','MenuProgram',ProgramStr);
ModalResult := mrOK;
end;
end.
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?