Automatyczne dopasowanie czcionki label

0

Witam!
Potrzebuje pomocy w następującej sprawie jak sprawić aby tekst który jest przesyłany do label miał wpływ na rozmiar czcionki - chodzi o to aby szerokość label była stała a czcionka zmniejszała się jeśli nie mieści się na komponencie.

Pozdrawiam

0

trzeba sobie samemu to oprogramować - Label.Canvas.TextWidth da Ci szerokość tekstu przy aktualnej czcionce - trzeba sprawdzić, porównać z szerokością labela, zwiększyć/zmniejszyć czcionkę i od nowa

0

pobierz rozmiar labela i jesli bedzie wiekszy niz twoj komponent to zmniejsz czcionke

0

Nie ma w informatyce pojęcia 'czcionka'. Czcionka jest uzywana w druku, a w informatyce mamy FONT.
Ludzie, nie potraficie się nauczyc?!

0

a ja mam czcionki i co pobijesz mnie??

0
asdasd napisał(a)

Nie ma w informatyce pojęcia 'czcionka'. Czcionka jest uzywana w druku, a w informatyce mamy FONT.
Ludzie, nie potraficie się nauczyc?!

a po polsku "font" to ....? czcionka! :-)

a jesli chodzi o samo pytanie to:
najprosciej bylo by zrobic petle zmniejszajaca czcionke i porównywać czy juz sie zmiesci text w label, jesli tak to zastosujemy ten rozmiar czcionki i wychodzimy z petli.

ale zastanawiam sie czy nie da sie tego zwyczajnie wyliczyc, bez uzyania petli i wywolywania 100 razy tej samej funkcji...?
cos w tym stylu:

procedure TForm1.Edit1Change(Sender: TObject);
var s:String;
begin
  s:=edit1.text;
  Label1.Caption:=s;
  label1.Canvas.Font.Size:=1000;
  label1.Font.Size:=trunc(1000* (Label1.Width / label1.Canvas.TextWidth(s+' ')) );
end;

dziala to duzo szybciej niz petla, ale tez mniej dokladnie.
ja bym proponowal polaczyc to z petla, tzn:
tym sposobem oszacowac przyblizony rozmiar czcionki, a nastepnie "poprawic go" petla.

0

Polecam, Panowie niewiedzący, zapoznać się z artykułem, np.: http://www.typografia.ogme.pl/index.php/artykuly-mainmenu-4/5-normatywa-i-nomenklatura/4-proca

0

@Misiekd: chętnie.

1 użytkowników online, w tym zalogowanych: 0, gości: 1