![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
property BtnType: TIDBtnType; [D2005, 2003]
Вася Рогов © (2007-02-28 14:03:00)Пытаюсь сгоношить компонентик. Пишу так:
type TTBType=(stbClose, stbMaximize, stbRestore, stbMinimize, stbNone);
TTopButton=class(TSelButton)
private
function BBtnType: TTBType;
procedure SetBtnType(const Value: TTBType);
published
property BtnType: TTBType read BBtnType write SetBtnType default stbNone;
end;
При попытке запуска прога вешает комп, IDE и себя, спасаешься только перезагрузкой.
Как можно правильно оформить property для компонента чтобы его можно было видеть в структуре свойств в Object Inspector и ничего не глючило?
Заранее спасибо.
Аноним (2007-02-28 16:47:00) [1]Во ! :-)
А мораль какая - надо соблюдать стандарты имен:-)
Юрий Зотов (2007-02-28 16:25:00) [2]
property BtnType: TTBType read BBtnType ...
function TTopButton.BBtnType: TTBType;
begin
Result := BtnType;
end;
И здравствуй, бесконечная рекурсия...
MBo (2007-02-28 14:42:00) [3]Self.Paint;
Зачем?
Вася Рогов (2007-02-28 14:11:00) [4]Вот полный код. Что и куда надо добавить?
TTopButton=class(TSelButton)
private
function BBtnType: TTBType;
procedure SetBtnType(const Value: TTBType);
published
property BtnType: TTBType read BBtnType write SetBtnType default stbNone;
end;
var
Form1: TForm1;
tbClose: TTopButton;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
begin
tbClose := TTopButton.Create(self);
tbClose.BtnType := stbClose;
tbClose.Width := 17;
tbClose.Height := 17;
tbClose.Left := Width - 10 - tbClose.Width;
tbclose.Top := 2;
tbClose.parent := self;
end;
{ TTopButton }
function TTopButton.BBtnType: TTBType;
begin
Result := BtnType;
end;
procedure TTopButton.SetBtnType(const Value: TTBType);
begin
//tnType := Value;
case BtnType of
stbClose: Caption := 'X';
end;
Self.Paint;
end;
Аноним (2007-02-28 14:09:00) [5]в приведенном куске кода глюков нет (кроме несоблюдения стандартов имен)
следовательно, глюк где-то в другом месте.
> Как можно правильно оформить property для компонента чтобы
> его можно было видеть в структуре свойств в Object Inspector
Ну приблизительно так и оформить, как оформлено