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

📄 ceevent.pas

📁 Delphi高级开发指南是开发程序的好帮手
💻 PAS
字号:
unit CeEvent;

interface

uses
  Classes,
  StdCtrls,
  DsgnIntf;

type
  TDdhDummy4Edit = class (TEdit)
  end;

  // property editor used to change
  // the default edit action
  TCeShowOnEnter = class (TDefaultEditor)
    procedure Edit; override;
  end;

procedure Register;

implementation

uses
  PefName, Forms, Dialogs, SysUtils, TypInfo;

// TCeShowOnEnter class
procedure TCeShowOnEnter.Edit;
var
  EventName: string;
  EnterEvent: TNotifyEvent;
  ppi: PPropInfo;
begin
  EnterEvent := (Component as TEdit).OnEnter;
  // if an OnEnter event handler exists
  if Assigned (EnterEvent) then
    // get the name of the current event handler
    EventName := Designer.GetMethodName (TMethod (EnterEvent))
  else
  begin
    // make up a name
    EventName := Component.Name + 'Enter';
    // access to the property information
    ppi := GetPropInfo (
      Component.ClassType.ClassInfo,
      'OnEnter');
    // generate the method and assign it
    EnterEvent := TNotifyEvent (
      Designer.CreateMethod (
        EventName,
        GetTypeData (ppi.PropType^)));
    // store the new value
    (Component as TEdit).OnEnter := EnterEvent;
    Designer.Modified;
  end;
  Designer.ShowMethod (EventName);
end;

procedure Register;
begin
  RegisterComponents ('DDHB', [TDdhDummy4Edit]);
  RegisterComponentEditor (TDdhDummy4Edit, TCeShowOnEnter);
end;

end.

⌨️ 快捷键说明

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