自定义组件如果编写一个FABOUT属性,使其在设计或运行时能通过调用ABOUT来显示一个“关于”的提示框。(50分)

  • 主题发起人 主题发起人 jysoft
  • 开始时间 开始时间
J

jysoft

Unregistered / Unconfirmed
GUEST, unregistred user!
我见到Tinytable是这样的,但不知如何做。

应该要调用DESIGNIF这个PAS的,但不知如何做。
 
难道分太少???
 
先做一个About Form 如要在设计期显示,可以定义组件编辑菜单
右键电击该控件会弹出该菜单
或着定义一个属性,该属性编辑方法为Dialog ,写该属性的EDIT 程序即可
运行期显示则更简单,定义一方法,显示该For, 即可

 
老兄,能给个实例吗?

或着定义一个属性,该属性编辑方法为Dialog ,写该属性的EDIT 程序即可
运行期显示则更简单,定义一方法,显示该For, 即可

不知如何做
 
这个问题很容易解决,我可以给做一个例子,我刚刚研究成功的,呵呵,共享吧,
这个组件将有一个属性StringEX电击,弹出一个窗口,可以做任何处理,
不仅仅是一个About对话框

unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs,DesignIntf,DesignEditors, StdCtrls;

type
TForm1 = class(TForm)
Memo1: TMemo;
Button1: TButton;
Button2: TButton;
private
{ Private declarations }
public
{ Public declarations }
end;

TComponent1 = class(TComponent)
private
FStringEx: string;
procedure SetStringEx(const Value: string);
{ Private declarations }
protected
{ Protected declarations }
public
{ Public declarations }
published
{ Published declarations }
property StringEx: string read FStringEx write SetStringEx;
end;

TTestProperty = class(TPropertyEditor)
FDataString: string;

procedure Edit; override;
function GetAttributes: TPropertyAttributes; override;
function GetValue: string; override;
end;

function Execute: string;

procedure Register;

implementation
{$R *.dfm}

procedure Register;
begin
RegisterPropertyEditor(TypeInfo(string), TComponent1,'StringEx',TTestProperty);
RegisterComponents('Samples', [TComponent1]);
end;

{ TPDFDataStringProperty }

procedure TTestProperty.Edit;
begin
inherited;
Execute;
end;

function TTestProperty.GetAttributes: TPropertyAttributes;
begin
Result := [paDialog];
end;

function TTestProperty.GetValue: string;
begin

end;


function Execute: string;
begin
with TForm1.Create(Application) do
begin
Position := poDesktopCenter;
ShowModal;
end;
end;

{ TComponent1 }

procedure TComponent1.SetStringEx(const Value: string);
begin
FStringEx := Value;
end;

end.
 
注册一个属性编辑器而已。看d5开发人员指南上的。
 
入门而已
 
后退
顶部