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

📄 ukeyinput.pas

📁 Delphi编写的Cs1.6中文输入软件 支持CS游戏全屏下的中文输入;但只支持CS1.6
💻 PAS
字号:
unit UKeyInput;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ExtCtrls, RzPanel;

type
  TfrmKeyInput = class(TForm)
    rpnlInput: TRzPanel;
    edtInput: TEdit;
    rpnl1: TRzPanel;
    lbl2: TLabel;
    procedure FormShow(Sender: TObject);
    procedure edtInputKeyPress(Sender: TObject; var Key: Char);
    procedure FormCreate(Sender: TObject);
    procedure FormKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
  private
    i:Integer;
    isSelIme:Boolean;
    sIme:string;
    procedure CreateParams(var Params: TCreateParams);override;
  public

  end;

var
  frmKeyInput: TfrmKeyInput;

implementation

uses Math,StrUtils;

{$R *.dfm}


procedure TfrmKeyInput.FormShow(Sender: TObject);
begin
  if edtInput.ImeName=emptyStr then i:=-1
  else i:=Screen.Imes.IndexOf(edtInput.ImeName);
  if i=-1 then lbl2.Caption:='英文'
  else lbl2.Caption:=Screen.Imes.Strings[i];
  Top:=0;
  Left:=(Screen.Width-Width) div 2;
  edtInput.SelStart:=2;
  edtInput.SelLength:=0;
end;

procedure TfrmKeyInput.CreateParams(var Params: TCreateParams);
begin
  inherited createparams(params);
  with params do
  begin
    style:=style and (not ws_caption);
    style:=style or ws_popup or ws_thickframe or ws_clipchildren;
  end;
end;

procedure TfrmKeyInput.edtInputKeyPress(Sender: TObject; var Key: Char);
var
  F:TStringList;
begin
  if key=#13 then
  begin
    Key:=#0;
    F:=TStringList.Create;
    try
      if frmKeyInput.edtInput.Text[1]<>'!' then
         F.Text:=AnsiToUtf8('say .'+frmKeyInput.edtInput.Text)
      else F.Text:=AnsiToUtf8('say_team .'+frmKeyInput.edtInput.Text);
         F.SaveToFile(GetCurrentDir+'\cstrike\say.cfg');
    finally
      FreeAndNil(F);
    end;
    keybd_event(VK_F11,MapVirtualKey(VK_F11,0),0,0);//键下F11键。
    keybd_event(VK_F11,MapVirtualKey(VK_F11,0),KEYEVENTF_KEYUP,0);//放开F11键。
    keybd_event(VK_TAB,MapVirtualKey(VK_TAB,0),0,0);//键下F11键。
    keybd_event(VK_TAB,MapVirtualKey(VK_TAB,0),KEYEVENTF_KEYUP,0);//放开F11键。
    FreeAndNil(frmKeyInput);
  end;
end;

procedure TfrmKeyInput.FormCreate(Sender: TObject);
var
  F:TextFile;
  sIme:string;
begin
  if FileExists(GetCurrentDir+'\myime.cfg') then
  begin
    AssignFile(F,GetCurrentDir+'\myime.cfg');
    try
      Reset(F);
      Readln(F,sIme);
    finally
      CloseFile(F);
    end;
    isSelIme:=sIme<>'英文';
    if isSelIme then  edtInput.ImeName:=sIme;
  end;
end;

procedure TfrmKeyInput.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if Key=27 then FreeAndNil(frmKeyInput);
end;

end.

⌨️ 快捷键说明

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