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

📄 tabenter.pas

📁 tabenter delphi组件包(用ENTER键代替TAB键)
💻 PAS
字号:
unit Tabenter;
{本源码是自由程序,你可以把它用在任何地方,但不允许以任何形式把它单独用作商业用途。

本人是一个普通的打工仔,为了给朋友们献上更好的源码和控件,我需要你的支持,如果你认为本程序对你有帮助,希望你寄任意你原意数额的RMB给我以资鼓励和支持,如果你认为不值,也希望你寄一张PostCard或者一封Email对我予以支持。

深圳市福田区联合广场41楼恒星威电子有限公司GPS部 艾真保  收
518026

mailto:Aizb@163.net

HomePage:
  http://vip.6to23.com/aizb}

{********************************************
在你的支持下:
我将以我的能力写出更多更方便的程序。
谢谢!
{********************************************

********************************************}
interface

uses
  SysUtils, WinTypes, WinProcs, Messages, Classes,
  Graphics, Controls, Forms, Dialogs, Buttons, StdCtrls;
type
  TkEnterAsTab = class(TSpeedButton)
  private
    FEnterAsTab : boolean;
  protected
    procedure CMDialogKey(var Message: TCMDialogKey);message CM_DIALOGKEY;
    procedure Paint; override;
  public
    constructor Create( AOwner : TComponent );override;
  published
    property EnterAsTab : boolean read FEnterAsTab write FEnterAsTab default True;
    function SetNextFocus:boolean; //如果焦点可以移到到下一控件则True,否则False
  end;

  procedure Register;

implementation

constructor TkEnterAsTab.Create( AOwner : TComponent );
begin
  inherited Create(AOwner);
  FEnterAsTab := True;
  if not (csDesigning in ComponentState) then
  begin
    Enabled := False;
    Visible := False;
  end else
    Caption := 'ET';
end;

procedure TkEnterAsTab.CMDialogKey(var Message :TCMDialogKey);
begin
  if (GetParentForm(Self).ActiveControl is TButtonControl) then
    inherited
  else if (Message.CharCode = VK_RETURN) and (EnterAsTab) then
  begin
    GetParentForm(Self).Perform(CM_DialogKey,VK_TAB, 0);
    Message.Result := 1;
  end else
    inherited;
end;

procedure TkEnterAsTab.Paint;
begin
  if (csDesigning in ComponentState) then
  begin
    Width := 27;
    Height := 27;
  end;
  inherited Paint;
end;

procedure Register;
begin
  RegisterComponents('Samples', [TkEnterAsTab]);
end;

//如果焦点可以移到到下一控件则True,否则False
function TkEnterAsTab.SetNextFocus:boolean;
var
  objActiveControlName:string;
begin
  objActiveControlName:=GetParentForm(Self).ActiveControl.Name;
  GetParentForm(Self).Perform(CM_DialogKey,VK_TAB, 0);
  if GetParentForm(Self).ActiveControl.Name<>objActiveControlName then
    result:=True
  else
    result:=False;
end;

end.

⌨️ 快捷键说明

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