📄 setting.pas
字号:
unit Setting;
interface
uses
Windows, SysUtils, Classes, Controls, Forms, ExtCtrls, Graphics, ComCtrls,
Search, DMU,
RzPanel, RzDlgBtn, RzButton, RzListVw, RzRadChk;
type
MoveDataMode = (Up, Down);
TFrmSet = class(TForm)
CmdDialogButtons: TRzDialogButtons;
PanelAll: TPanel;
Panel: TPanel;
ToolBar: TRzToolbar;
BtnSetting: TRzToolButton;
BtnSE: TRzToolButton;
PanelCenter: TPanel;
PanelSet: TPanel;
Header: TRzPanel;
Note: TNotebook;
CmdClear: TRzButton;
CmdDel: TRzButton;
CmdAdd: TRzButton;
CmdEdit: TRzButton;
LVSE: TRzListView;
ChkSeHistory: TRzCheckBox;
CmdUp: TRzButton;
CmdDown: TRzButton;
procedure FormCreate(Sender: TObject);
procedure CmdClearClick(Sender: TObject);
procedure CmdDelClick(Sender: TObject);
procedure LVSECustomDrawItem(Sender: TCustomListView; Item: TListItem;
State: TCustomDrawState; var DefaultDraw: Boolean);
procedure CmdAddClick(Sender: TObject);
procedure CmdEditClick(Sender: TObject);
procedure LVSEClick(Sender: TObject);
procedure CmdUpClick(Sender: TObject);
procedure CmdDownClick(Sender: TObject);
private
procedure GetTab(Sender: TObject);
public
{ Public declarations }
end;
var
FrmSet: TFrmSet;
implementation
{$R *.dfm}
function MoveData(const ListView: TRzListView; MoveMode: MoveDataMode): Boolean;
var i: integer;
TmpStr: array[1..2] of string;
begin
result := false;
with ListView do
begin
if MoveMode = Up then //上移
begin
for i := 0 to Items.Count - 1 do
begin
if Items[i].Selected then
begin
if i = 0 then Exit;
TmpStr[1] := Items[i - 1].Caption;
TmpStr[2] := Items[i - 1].SubItems.Strings[0];
Items[i - 1].Caption := Items[i].Caption;
Items[i - 1].SubItems.Strings[0] := Items[i].SubItems.Strings[0];
Items[i - 1].Selected := true;
Items[i].Caption := TmpStr[1];
Items[i].SubItems.Strings[0] := TmpStr[2];
Items[i].Selected := false;
if i = tag then tag := tag - 1;
end;
Refresh;
result := true;
end;
end else if MoveMode = Down then
begin
for i := Items.Count - 1 downto 0 do
begin
if Items[i].Selected then
begin
if i = Items.Count - 1 then Exit;
TmpStr[1] := Items[i + 1].Caption;
TmpStr[2] := Items[i + 1].SubItems.Strings[0];
Items[i + 1].Caption := Items[i].Caption;
Items[i + 1].SubItems.Strings[0] := Items[i].SubItems.Strings[0];
Items[i + 1].Selected := true;
Items[i].Caption := TmpStr[1];
Items[i].SubItems.Strings[0] := TmpStr[2];
Items[i].Selected := false;
if i = tag then tag := tag + 1;
end;
if ItemIndex = 10 then
Refresh;
result := true;
end;
end;
end;
end;
procedure TFrmSet.GetTab(Sender: TObject);
var i: integer;
C: TControl;
begin
for i := 0 to ToolBar.ToolbarControls.Count - 1 do
begin
C := TRzToolbarControl(ToolBar.ToolbarControls[i]).Control;
if C is TRzToolButton then
TRzToolButton(C).ImageIndex := 2;
end;
Note.PageIndex := TRzToolButton(Sender).tag;
TRzToolButton(Sender).ImageIndex := 3;
Header.Caption := TRzToolButton(Sender).Caption;
end;
procedure TFrmSet.FormCreate(Sender: TObject);
var i: integer;
begin
for i := 0 to ComponentCount - 1 do
begin
if Components[i] is TRzCheckBox then
TRzCheckBox(Components[i]).CustomGlyphs.LoadFromResourceName(Hinstance, 'CHECKBOX');
{if Components[I] is TRzEdit then
TRzEdit(Components[I]).FrameController := DM.FrameController;
if Components[I] is TRzSpinEdit then
TRzSpinEdit(Components[I]).FrameController := DM.FrameController;
if Components[I] is TRzComboBox then
begin
TRzComboBox(Components[I]).Style := csDropDownList;
TRzComboBox(Components[I]).FrameController := DM.FrameController;
end; }
if Components[i] is TRzToolButton then
begin
TRzToolButton(Components[i]).GroupIndex := 1;
TRzToolButton(Components[i]).ImageIndex := 2;
TRzToolButton(Components[i]).OnClick := GetTab;
end;
end;
BtnSetting.ImageIndex := 3;
Note.PageIndex := 0;
end;
procedure TFrmSet.CmdClearClick(Sender: TObject);
begin
LVSE.Items.Clear;
end;
procedure TFrmSet.CmdDelClick(Sender: TObject);
begin
if LVSE.Selected = nil then Exit;
LVSE.DeleteSelected;
end;
procedure TFrmSet.LVSECustomDrawItem(Sender: TCustomListView;
Item: TListItem; State: TCustomDrawState; var DefaultDraw: Boolean);
begin
if Item.Index = LVSE.tag then
Sender.Canvas.Font.Style := [fsBold] else Sender.Canvas.Font.Style := [];
end;
procedure TFrmSet.CmdAddClick(Sender: TObject);
var List: TListItem;
begin
with TFrmSearch.Create(self) do
begin
TxtName.Clear;
TxtFormat.Clear;
ChkDef.Checked := false;
if (ShowModal = mrOk) and
(Trim(TxtName.Text) <> '') and
(UpperCase(Copy(TxtFormat.Text, 1, 7)) = 'HTTP://') and
(Pos('=[%]', TxtFormat.Text) > 0) then
begin
List := LVSE.Items.Add;
List.Caption := Trim(TxtName.Text);
List.SubItems.Add(Trim(TxtFormat.Text));
if ChkDef.Checked then LVSE.tag := LVSE.Items.Count - 1;
LVSE.Refresh;
end;
free;
end;
end;
procedure TFrmSet.CmdEditClick(Sender: TObject);
begin
if LVSE.Selected = nil then Exit;
with TFrmSearch.Create(self) do
begin
TxtName.Text := LVSE.Selected.Caption;
TxtFormat.Text := LVSE.Selected.SubItems.Strings[0];
if LVSE.Selected.Index = LVSE.tag then ChkDef.Checked := true else ChkDef.Checked := false;
if (ShowModal = mrOk) and
(Trim(TxtName.Text) <> '') and
(UpperCase(Copy(TxtFormat.Text, 1, 7)) = 'HTTP://') and
(Pos('=[%]', TxtFormat.Text) > 0) then
begin
LVSE.Selected.Caption := Trim(TxtName.Text);
LVSE.Selected.SubItems.Strings[0] := Trim(TxtFormat.Text);
if ChkDef.Checked then LVSE.tag := LVSE.Selected.Index;
LVSE.Refresh;
end;
free;
end;
end;
procedure TFrmSet.LVSEClick(Sender: TObject);
begin
if LVSE.Selected = nil then
begin
CmdDel.Enabled := false;
CmdEdit.Enabled := false;
end else
begin
CmdDel.Enabled := true;
CmdEdit.Enabled := true;
end;
end;
procedure TFrmSet.CmdUpClick(Sender: TObject);
begin
MoveData(LVSE, Up);
end;
procedure TFrmSet.CmdDownClick(Sender: TObject);
begin
MoveData(LVSE, Down);
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -