Главная страница
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.053 c
3-1080626158
pt
2004-03-30 09:55
2004.04.25
dBase + ADO


3-1080587672
clickmaker
2004-03-29 23:14
2004.04.25
ADOConnection time out при попытке создания >2 соединений


1-1081664166
brrrr
2004-04-11 10:16
2004.04.25
Уважаемые Мастера, как можно сделать панельки как в Photoshop


6-1077948390
shtacs
2004-02-28 09:06
2004.04.25
TWebBrowser для ОффЛайн! Как реализовать?


6-1077882441
ALeX.B.
2004-02-27 14:47
2004.04.25
Как ускорить работу ICMP из ICS(KOL)?