Показать сообщение отдельно
  #7  
Старый 20.10.2007, 18:17
ART ART вне форума
Продвинутый
 
Регистрация: 13.02.2006
Адрес: Магнитогорск
Сообщения: 669
Репутация: 14745
По умолчанию

Можно создать что-то вроде этого:

Код:
type TMatLabel=record
 C,Z,SC,SZ:Tlabel; //Числитель, Знаменатель, Степень числителя, Степень знаменателя
end;

function TForm1.CreateMatLabel(Pos:TPoint; Ch,Zn,SCh,SZn:string):TMatLabel;
var
Mat:TMatLabel;
begin
Mat.C:=TLabel.Create(Self);
Mat.Z:=TLabel.Create(Self);
Mat.SC:=TLabel.Create(Self);
Mat.SZ:=TLabel.Create(Self);
with Mat do begin
 with C do begin
 Autosize:=true;
  Caption:=Ch+#13#10+'__';
  Left:=Pos.x;
  Top:=Pos.y;
  Parent:=Form1;
 end;
 with Z do begin
  Autosize:=true;
  Caption:=Zn;
  Left:=Pos.x;
  Top:=Pos.y+C.height+16;
  Parent:=Form1;
 end;
 with SZ do begin
 Autosize:=true;
  Caption:=SZn;
  Left:=Pos.x+Z.Width+2;
  Top:=Z.Top-SZ.Height;
  Parent:=Form1;
 end;
 with SC do begin
  Caption:=SCh;
  Left:=Pos.x+C.Width+2;
  Top:=Pos.y-SC.Height;
  Parent:=Form1;
 end;
end;
Result:=Mat;
end;

Ответить с цитированием