Blog gunsmoker fonturi în Windows XP și Windows Vista

Am scris un mic program care arată setările de fonturi - poate fi util.

Istoricul istoric
Printre altele, puteți solicita utilizarea funcției GetStockObject. există două fonturi, numite SYSTEM_FONT și DEFAULT_GUI_FONT. Ce este?







Acestea sunt fonturi care nu sunt folosite de nimeni astăzi.

În zilele vechi-bune de Windows 2.0, fontul folosit pentru casetele de dialog a fost un font bitmap numit System. Acesta este fontul care returnează SYSTEM_FONT. și este încă fontul implicit pentru dialoguri din motive de compatibilitate. Bineînțeles, nimeni astăzi nu va folosi un astfel de font groaznic pentru dialogurile sale (printre altele, este raster și, prin urmare, nu arată bine la rezoluții înalte și nu poate fi eliminat).

(Ecranul DPI a fost 96)

(Ecranul DPI a fost de 120)

Din cele de mai sus este clar că fontul corespunzător pentru ferestre este lfMessageFont de la SystemParametersInfo. iar fontul corespunzător pentru afișarea monospațială este ANSI_FIXED_FONT de la GetStockObject.







Deoarece Delphi folosește bine cusute în numele de fonturi a programului (MS Sans Serif, Tahoma și MS Shell DLG 2) - acest lucru nu este întotdeauna cea mai bună alegere dacă doriți să „țină pasul cu vremurile“ (*): programul care urmează să fie utilizat același font, ca toate celelalte programe.

Pentru a remedia acest lucru, puteți adăuga un modul în secțiunea utilizări: în plus, pentru fiecare formular, trebuie să îl setați la ParentFont = True. Asta e tot. Acum, programul dvs. va utiliza fontul pentru interfața UI instalată în sistem.

Și, dacă aveți de control care necesită un font monospațiat, în loc să se schimbe fontul fixat în Object Inspector la timpul de proiectare - este mai bine să nu-l atingă (lăsând ParentFont = True control), și scrie în atribuirea de fonturi FormCreate, de exemplu, : (bineînțeles, ar trebui să aveți instalat modulul UseNewFonts).

(*) În general, fonturile ca MS Shell Dlg 2 nu sunt strict fixate (spre deosebire, să spunem, Tahoma). În loc de MS Shell Dlg 2, programul dvs. va fi înlocuit cu fontul specificat în setările de ecran ale utilizatorului. Prin urmare, chiar dacă setați controalele la un font fix MS Shell Dlg 2 - formularul lor se poate modifica! Prin urmare, fie că trebuie să fiți gata să vă adaptați dimensiunile controalelor, fie să introduceți un font cu adevărat specific.







Articole similare

Trimiteți-le prietenilor: