![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Проблем с конструктором
Боян Георгиев © (2004-09-07 19:01:00)Здравствуйте!
Вот клас:
type
TPromptEdit = class(TEdit)
private
{ Private declarations }
fPrompt: string;
procedure SetPrompt(const Value: string);
procedure EditEnter(var Message: TMessage); message CM_ENTER;
procedure EditExit(var Message: TMessage); message CM_EXIT;
protected
{ Protected declarations }
public
{ Public declarations }
published
{ Published declarations }
constructor Create(AOwner: TComponent);
property Propmt: string read fPrompt write SetPrompt;
end;
procedure Register;
implementation
{ TPromptEdit }
procedure Register;
begin
RegisterComponents('Standard', [TPromptEdit]);
end;
procedure TPromptEdit.SetPrompt(const Value: string);
begin
fPrompt := Value;
if Text = '' then Text := fPrompt;
end;
procedure TPromptEdit.EditEnter(var Message: TMessage);
begin
inherited;
if Text = fPrompt then Text := '';
end;
procedure TPromptEdit.EditExit(var Message: TMessage);
begin
inherited;
if Text = '' then Text := fPrompt;
end;
constructor TPromptEdit.Create(AOwner: TComponent);
begin
inherited;
Text := fPrompt;
end;
end.
Вот код инстанции:
object PromptEdit1: TPromptEdit
Left = 8
Top = 440
Width = 121
Height = 21
TabOrder = 55
Text = 'PromptEdit1'
Propmt = 'Enter your name'
end
Проблем то, чтоText := fPrompt;в конструкторе не работает. Когда форма создается, текст едит-а 'PromptEdit1'. Как можно задать начальная стойность свойства Text в моменте создании обекта?
Боян Георгиев (2004-09-07 19:15:00) [1]Я Prompt сменяю в Object inspector но он не сменяется в Realtime
Ega23 (2004-09-07 19:12:00) [2]procedure TPromptEdit.SetPrompt(const Value: string);
begin
fPrompt := Value;
if Text = '' then Text := fPrompt;
end;
Вот этот вот кусок настораживает....
Точнее if....
Боян Георгиев (2004-09-07 19:12:00) [3]Ega23 © (07.09.04 19:08) [2]
Prompt я сменил в Object inspector
Fay (2004-09-07 19:09:00) [4]Не, это меня колбасит. 8)
А где constructor Create(AOwner: TComponent); override;?
Ega23 (2004-09-07 19:08:00) [5]Promt:=''; ?
Fay (2004-09-07 19:05:00) [6]Text := Prompt ?