můžete mi prosím někdo pomoci s tímto kódem:
- Kód: Vybrat vše
function VratDelkuTextu(const zprava: String; aFont: TFont): Integer;
var aBmp: TBitmap;
begin
aBmp:= TBitmap.Create;
try
aBmp.Canvas.Font:= aFont;
Result:= aBmp.Canvas.TextWidth(zprava);
finally
aBmp.Free;
end;
end;
....
max, min: Integer;
max:= 10;
min:= 6;
....
procedure TForm1.Edit1Change(Sender: TObject);
var velikost: Integer;
begin
velikost:= Edit1.Font.Size;
if VratDelkuTextu(edit1.Text, Edit1.Font) > Edit1.Width then
begin
if velikost > min then
begin
dec(velikost);
Edit1.Font.Size:= velikost;
end;
end else begin
if velikost < max then
begin
inc(velikost);
Edit1.Font.Size:= velikost;
end;
end;
end;
jde mi o to, že píšu text do Editu, kterej má fixní velikost a já potřebuju, aby když je text delší se jeho velikost v Editu změnila na menší (nejmenší je min + 1) a naopak když je krátkej, tak zase zvětší (největší je max - 1) aby ten text byl vidět vždy celej.
napsal jsem si tenhle kód, ale pořád to nějak hapruje ..
nějakej nápad ??