⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 search.pas

📁 Delphi编写 IE搜索工具条 应用bho技术
💻 PAS
字号:
unit Search;

interface

uses
  Windows, Variants, Classes, Controls, Forms,
  StdCtrls, DMU, ExtCtrls, RzPanel, RzDlgBtn, RzButton, RzRadChk, RzEdit,
  Mask;

type
  TFrmSearch = class(TForm)
    TxtName: TRzEdit;
    LbName: TLabel;
    LbFormat: TLabel;
    TxtFormat: TRzMemo;
    LbExplain: TLabel;
    CmdInsert: TRzButton;
    ChkDef: TRzCheckBox;
    CmdBtn: TRzDialogButtons;
    procedure CmdInsertClick(Sender: TObject);
    procedure TxtFormatKeyUp(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure TxtFormatMouseUp(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure TxtNameMouseUp(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure TxtNameKeyUp(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure CmdOkKeyUp(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure CmdOkMouseUp(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure CmdCancelMouseUp(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure CmdCancelKeyUp(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure FormShow(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  FrmSearch: TFrmSearch;

implementation

{$R *.dfm}

procedure TFrmSearch.CmdInsertClick(Sender: TObject);
var i: Integer;
begin
  if TxtFormat.SelText <> '[%]' then
    if Pos('[%]', TxtFormat.Text) > 0 then
    begin
      MessageBox(Handle, 'URL格式字符串中已经包含有一个或多个关键字占位符“[%]”,' + #13#10 + '实际上仅第一个占位符是有效的。', PChar(Application.Title), MB_ICONEXCLAMATION);
      Exit;
    end;
  SendMessage(TxtFormat.Handle, $0303, 0, 0); //删除选中的的
  i := TxtFormat.SelStart - SendMessage(TxtFormat.Handle, $00BB, 0, 0); //取得光标位置
  TxtFormat.SelStart := i;
  TxtFormat.SetSelTextBuf('[%]');
end;
procedure TFrmSearch.TxtFormatKeyUp(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  CmdInsert.Enabled := true;
  if (TxtName.Text = '') or (TxtFormat.Text = '') then CmdBtn.EnableOk := false else CmdBtn.EnableOk := true;
end;

procedure TFrmSearch.TxtFormatMouseUp(Sender: TObject;
  Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
  CmdInsert.Enabled := true;
  if (TxtName.Text = '') or (TxtFormat.Text = '') then CmdBtn.EnableOk := false else CmdBtn.EnableOk := true;
end;

procedure TFrmSearch.TxtNameMouseUp(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  CmdInsert.Enabled := false;
  if (TxtName.Text = '') or (TxtFormat.Text = '') then CmdBtn.EnableOk else CmdBtn.EnableOk := true;
end;

procedure TFrmSearch.TxtNameKeyUp(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  CmdInsert.Enabled := false;
  if (TxtName.Text = '') or (TxtFormat.Text = '') then CmdBtn.EnableOk := false else CmdBtn.EnableOk := true;
end;

procedure TFrmSearch.CmdOkKeyUp(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  CmdInsert.Enabled := false;
end;

procedure TFrmSearch.CmdOkMouseUp(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  CmdInsert.Enabled := false;
end;

procedure TFrmSearch.CmdCancelMouseUp(Sender: TObject;
  Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
  CmdInsert.Enabled := false;
end;

procedure TFrmSearch.CmdCancelKeyUp(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  CmdInsert.Enabled := false;
end;

procedure TFrmSearch.FormShow(Sender: TObject);
begin
  if (TxtName.Text = '') or (TxtFormat.Text = '') then CmdBtn.EnableOk := false else CmdBtn.EnableOk := true;
end;

procedure TFrmSearch.FormCreate(Sender: TObject);
begin
  ChkDef.CustomGlyphs.LoadFromResourceName(Hinstance, 'CHECKBOX');
end;

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -