Ako vypočítať dialógové okno základnej jednotky s založený systém písmo

Preklady článku Preklady článku
ID článku: 125681
Rozbaliť všetko | Zbaliť všetko

SUHRN

Tento článok ukazuje ako vypočítať dialógové okno základnej jednotky pre dialógové okno pomocou písma iné ako typ písma systému v systéme Windows 95. Môžete použiť Tento výpočet stavať dialógové okno pole šablóny v pamäti alebo vypočítať rozmery dialógového okna krabice.

DALSIE INFORMACIE

Každý dialógové okno pole Šablóna obsahuje merania, ktoré určujú polohu, šírka a výška dialógovom okne a kontrol obsahuje. Tieto merania sú nezávislé od zariadenia, takže jedna aplikácia môže použiť jediný šablónu vytvoríte istom dialógovom okne pre všetky typy zobrazovacích zariadení. To zaručuje, že dialógové okno bude mať rovnaké proporcie a vzhľad na všetkých obrazovkách napriek rozdielne rezolúcií a pomery strán medzi obrazovkách.

Ďalej, dialógové okno pole merania sú uvedené v dialógovom okne základných merných jednotkách. Jeden horizontálne základná jednotka sa rovná jednej štvrtiny priemerná šírka pre typ písma systému. Jeden zvislej základnej jednotky sa rovná jeden-ôsma priemerná výška písma pre písma systému. Žiadosť môžete načítať počet pixelov na základnej jednotky pre aktuálne zobrazenie pomocou GetDialogBaseUnits funkcie. Nízka-order slovo návratovej hodnoty z GetDialogBaseUnits funkcia obsahuje horizontálne základných jednotkách a Program word Rozdeli návratovej hodnoty z GetDialogBaseUnits funkciu, obsahuje vertikálne základných merných jednotkách.

Pomocou týchto informácií môžete vypočítať dialógovom okne základné jednotky pre dialógové okno blok s použitím písma iné ako typ písma systému:
horz pixels == 2 * horz dialog units * (average char width  of dialog font
                        / average char width of system font)
vert pixels == 2 * vert dialog units * (average char height of dialog font
                        / average char height of system font)
				
Ako písmo dialógového okna pole zmeny, skutočná veľkosť a polohu kontroly sa tiež zmení.

Jeden dialógové okno poli Základná jednotka sa rovná počtu pixelov na dialógové okno rámčeku jednotku takto:
1 horz dialog base unit == (2 * average char width  dialog font / 
                                average char width  system font) pixels
1 vert dialog base unit == (2 * average char height dialog font / 
                                average char height system font) pixels
				
Priemerná šírka a výška písma môže byť vypočítaná takto:
hFontOld = SelectObject(hdc,hFont);
GetTextMetrics(hdc,&tm);
GetTextExtentPoint32(hdc,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrst"
            "uvwxyz",52,&size);
avgWidth = (size.cx/26+1)/2;
avgHeight = (WORD)tm.tmHeight;
				
TmAveCharWidth oblasti štruktúre TEXTMETRIC len približuje skutočná priemerná šírka (obvykle dáva šírka list "x") a tak pravda priemerná šírka sa musí vypočítať zodpovedali hodnota, ktorú používa systém.

Použite MapDialogRect funkciu previesť dialógové okno políčka jednotiek do pixelov, ale neexistuje žiadna funkcia skonvertuje pixelov na dialógové okno jednotky. Môžete použiť vzorce tu zobrazený vykonávať Táto konverzia.

ODKAZY

Ďalšie informácie na túto tému, pozri nasledujúci článok v databáze Microsoft Knowledge Base:
145994 Ako vypočítať dialógové okno jednotiek, keď nepoužívate systém písmo

Vlastnosti

ID článku: 125681 - Posledná kontrola: 10. októbra 2011 - Revízia: 2.0
Kľúčové slová: 
kbdlg kbhowto kbmt KB125681 KbMtsk
Strojovo preložené
DÔLEŽITÉ: Tento článok bol preložený pomocou softvéru na strojový preklad od spoločnosti Microsoft, nie prekladateľom. Spoločnosť Microsoft ponúka články preložené prekladateľmi aj strojovo preložené články, vďaka čomu máte možnosť prístupu ku všetkým článkom databázy Knowledge Base vo svojom jazyku. Strojovo preložený článok však nie je vždy perfektný. Môže obsahovať chyby týkajúce sa slovnej zásoby, syntaxe alebo gramatiky, podobne ako cudzinec môže robiť chyby, keď rozpráva vašim jazykom. Spoločnosť Microsoft nenesie zodpovednosť za akékoľvek nepresnosti, chyby alebo škody spôsobené akýmkoľvek nepresným prekladom obsahu alebo jeho použitím zo strany zákazníkov. Spoločnosť Microsoft softvér na strojový preklad pravidelne aktualizuje.
Pokiaľ chcete vidieť anglickú verziu článku, kliknite sem:125681

Odošlite odozvu

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com