Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Проблем с конструктором


Боян Георгиев ©   (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 ?


Наверх

Титульная страница Поиск, карта сайта Написать письмо