Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.04.25;
Скачать: CL | DM;

Вниз

Вопрос про надпись на Shape   Найти похожие ветки 

 
hgd   (2004-04-11 14:26) [0]

Ребят мне надо на Shape сделать надпись например как на label. По-умолчанию этого нельзя сделать, а можно как бы внутри создать такой компонент объединяющий Shape и Label. И обращяться к нему как-то. Как это сделать.


 
default ©   (2004-04-11 15:41) [1]

написать наследника TShape со свойством типа TLabel


 
hgd   (2004-04-11 15:52) [2]

А можно пример!
Ну мне нужно просто на Shape нужно написать надпись


 
default ©   (2004-04-11 16:46) [3]

вот основа

 TLabelShape = class(TShape)
 private
  FShapeLabel: TLabel;
 protected
  procedure SetParent(AParent: TWinControl); override;
  procedure Paint; override;
 public
  constructor Create(AOwner: TComponent); override;
  destructor Destroy; override;
  property ShapeLabel: TLabel read FShapeLabel write FShapeLabel;
 end;

constructor TLabelShape.Create(AOwner: TComponent);
begin
inherited;
FShapeLabel := TLabel.Create(AOwner);
// по усмотрению
FShapeLabel.Color := Brush.Color
end;

destructor TLabelShape.Destroy;
begin
inherited;
FShapeLabel.Free
end;

procedure TLabelShape.SetParent(AParent: TWinControl);
begin
inherited;
FShapeLabel.Parent := AParent
end;

procedure TLabelShape.Paint;
begin
inherited;
// по усмотрению
FShapeLabel.Left := Left;
FShapeLabel.Top := Top
end;

дальше сам сообразишь


 
hgd   (2004-04-11 17:38) [4]

А что еще нужно написать


 
default ©   (2004-04-11 17:55) [5]

ну допустим при имзенение фона Shape-а нужно, наверно, как-то менять цвет надписи?!позиционировать метку тоже надо как-то(посередине к примеру)!?учитывать при позиционировании текущую форму Shape-а(прямоуг-ик, круг и тд)?!и ещё что-то при необходимости
если нужно поддерживать цвет фона Shape-а и фона метки одинаковым, то если мы попытаемся поменяем цвет фона метки, то надо это не делать либо менять цвет фона Shape-а на такой же, так что придётся "вторгаться" в код изменения цвета фона метки чтобы менять цвет фона Shape-а и подобное


 
hgd   (2004-04-11 19:54) [6]

А как с приведенным тестом работать


 
default ©   (2004-04-11 20:59) [7]

Self = Form1
var
SL: TLabelShape;
begin
SL := TLabelShape.Create(Self);
SL.Parent := Self;
SL.ShapeLabel.Caption := "sdfssffsfs";
SL.Left := 100;
SL.Top := 200
...
это просто пример, тут есть ещё что нужно сделать(в зависимости от задачи)



Страницы: 1 вся ветка

Текущий архив: 2004.04.25;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.026 c
14-1080799193
cyborg
2004-04-01 09:59
2004.04.25
Вышла Delphi 9


3-1080534305
russko
2004-03-29 08:25
2004.04.25
Record locked by another user


4-1077456275
-=наблюдатель=-
2004-02-22 16:24
2004.04.25
Resource


4-1077645218
Владимир Березин
2004-02-24 20:53
2004.04.25
Обработка WINDOWS - сообщения


4-1077807916
Islander
2004-02-26 18:05
2004.04.25
Проблемы с WM_SYSCOMMAND