📄 tabenter.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 + -