dynamické měmění fontu   zodpovězená otázka

VB.NET

Zdravím. Vím, že změna velikosti fontu se tady už řešila, ale toto je trochu jiný případ. Ve full screenu potřebuji změnit font aby byl co největší. Při rozlišení které používám na PC 1280x800 to tak vypadá. Požadovaný text je na celou obrazovku. Jenže když spustím program na větším rozlišení, již to tak není a nedej bože když to pustím na mneším. To mi tam zase nějaké znaky chybí.

Celou reakce mám napsanou takto. Pro přehlednost jsem uvedl kód jen s jedním zadaným rozlišením

  Dim pxX As Integer = Screen.PrimaryScreen.Bounds.Width
    Dim pxY As Integer = Screen.PrimaryScreen.Bounds.Height

If pxX=800 and pxY=600
	Label1.Font = New Font("Times New Roman", 32, FontStyle.Bold)
End if

Nejprve si zjistím rozlišení monitoru a potom podle toho upravuji font.

To je ale docela nepovedené vzhledem k množstvím typu rozlišení.

Nevědel by někdo jak se to dá upravit aby program dynamicky měnil velikost fontu.

Aby jste mi dobře rozuměli.

Mám standartní velikost formu ve kterém je Label. Label je ukotven na střed Formu a zabýrá svou velikostí prakticky celý form.

Pořebuji aby při zvětšení na celou obrazovku stále zabýral celý form (a to i při různém rozlišení) a automaticky měnil font písma na co nějvětší?

Děkuji za odpověď

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Zkuste tu 32ku nějak spočítat z šířky obrazovky. Místo 32 třeba napište pxX / 25. Aby to bylo 100% korektní, musíte nastavit jednotku velikosti písma na pixely, standardně se totiž udává v typografických bodech a nejsem si jist, zda se mění v přesném poměru s rozlišením obrazovky.

Font vytvořte tedy nějak takto:

Label1.Font = New Font("Times New Roman", pxX / 25, FontStyle.Bold, GraphicsUnit.Pixel)

Požadované velikosti písma dosáhnete tak, že změníte 25ku na nějaké podobné číslo, které vám tu správnou velikost udělá.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Jine reseni je specifikovat jednotku v konstruktoru tridy Font, viz http://msdn2.microsoft.com/en-us/library... a http://msdn2.microsoft.com/en-us/library...

nahlásit spamnahlásit spam 0 odpovědětodpovědět
                       
Nadpis:
Antispam: Komu se občas házejí perly?
Příspěvek bude publikován pod identitou   anonym.
  • Administrátoři si vyhrazují právo komentáře upravovat či mazat bez udání důvodu.
    Mazány budou zejména komentáře obsahující vulgarity nebo porušující pravidla publikování.
  • Pokud nejste zaregistrováni, Vaše IP adresa bude zveřejněna. Pokud s tímto nesouhlasíte, příspěvek neodesílejte.

přihlásit pomocí externího účtu

přihlásit pomocí jména a hesla

Uživatel:
Heslo:

zapomenuté heslo

 

založit nový uživatelský účet

zaregistrujte se

 
zavřít

Nahlásit spam

Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?

Nahlásit Zrušit

Chyba

zavřít

feedback