Jak vypočítat dialog základní jednotky s Non-System-Based písmo

Překlady článku Překlady článku
ID článku: 125681 - Produkty, které se vztahují k tomuto článku.
Rozbalit všechny záložky | Minimalizovat všechny záložky

Souhrn

Tento článek ukazuje, jak vypočítat základní jednotku dialogové okno pro dialogové okno používáte písmo než písmo systému v systému Windows 95. Tento výpočet můžete použít sestavení dialogové okno šablony pole v paměti nebo vypočítat dialogové okno pole dimenzí.

Další informace

Každá šablona pole dialogové okno obsahuje měření určit pozici, Šířka a výška dialogové okno a ovládací prvky, které obsahuje. Tyto rozměry jsou nezávislé na zařízení, takže aplikace můžete použít jednu šablonu vytvořit stejné dialogové okno pro všechny typy zobrazovací zařízení. Tím zajistíte, že dialogové okno bude mít stejné rozměry a vzhled na všech obrazovkách navzdory různá rozlišení a poměry stran mezi obrazovkách.

Dialogové okno pole měření jsou dále udělena v dialogovém okně základních jednotkách. Jeden vodorovná základní jednotku je rovno jednu čtvrtinu šířky průměrný znak písmo systému. Jeden svislá základní jednotku je rovno jednu osminu výšky průměrný znak písmo systému. Aplikace může načíst počet pixelů na základní jednotky pro aktuální zobrazení pomocí funkce GetDialogBaseUnits. Obsahuje slovo nízké pořadí vrácená hodnota z funkce GetDialogBaseUnits vodorovné základních jednotek a vysoké pořadí slovo vrácená hodnota z funkce GetDialogBaseUnits obsahuje svislé základních jednotkách.

Pomocí této informace je možné vypočítat základních jednotkách dialogové okno pro dialogové okno, pomocí písmo než písmo 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)
				
jako písmo změny dialogové okno pole Skutečná velikost a umístění ovládacího prvku změní také.

Jeden dialogové okno pole Základní jednotka ekvivalentní počet pixelů na dialogové okno pole jednotka je následujícím způsobem:
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
				
znak průměrná šířka a výška písmo může být vypočítána způsobem:
hFontOld = SelectObject(hdc,hFont);
GetTextMetrics(hdc,&tm);
GetTextExtentPoint32(hdc,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrst"
            "uvwxyz",52,&size);
avgWidth = (size.cx/26+1)/2;
avgHeight = (WORD)tm.tmHeight;
				
pole tmAveCharWidth pouze strukturu TEXTMETRIC approximates šířku skutečné průměrné znak (obvykle poskytuje šířku písmeno "x"), a proto musí být kalkulován true znak průměrná šířka odpovídat používá systém hodnotu.

Použít funkci MapDialogRect jednotek pole dialogové okno Převést pixelů, ale není žádná funkce, které bude do pole jednotek dialogové okno Převést pixelů. Můžete použít vzorce zde zobrazen tento převod provést.

Odkazy

Další informace o tomto tématu naleznete v následujícím článku databáze Microsoft Knowledge Base:
145994Jak vypočítat jednotky dialog při použití není písmo systému

Vlastnosti

ID článku: 125681 - Poslední aktualizace: 11. července 2005 - Revize: 2.3
Informace v tomto článku jsou určeny pro produkt:
  • Microsoft Platform Software Development Kit-January 2000 Edition na těchto platformách
    • Microsoft Windows 95
    • the operating system: Microsoft Windows 2000
Klíčová slova: 
kbmt kbdlg kbhowto KB125681 KbMtcs
Strojově přeložený článek
Důležité: Tento článek byl přeložen pomocí software společnosti Microsoft na strojový překlad, ne profesionálním překladatelem. Společnost Microsoft nabízí jak články přeložené překladatelem, tak články přeložené pomocí software na strojový překlad, takže všechny články ve Znalostní databázi (Knowledge Base) jsou dostupné v češtině. Překlad pomocí software na strojový překlad ale není bohužel vždy dokonalý. Obsahuje chyby ve skloňování slov, skladbě vět, nebo gramatice, podobně jako když cizinci dělají chyby při mluvení v češtině. Společnost Microsoft není právně zodpovědná za nepřesnosti, chyby nebo škody vzniklé chybami v překladu, nebo při použití nepřesně přeložených instrukcí v článku zákazníkem. Společnost Microsoft aktualizuje software na strojový překlad, aby byl počet chyb omezen na minimum.
Projděte si také anglickou verzi článku:125681

Dejte nám zpětnou vazbu

 

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