GetDialogBaseUnits

A GetDialogBaseUnits função retorna a caixa de diálogo do sistema unidades de base, que são o média largura e a altura de caracteres na fonte do sistema. Para caixas de diálogo que usam a fonte do sistema, você pode usar esses valores para converter entre unidades modelo diálogo, tal como especificado na caixa de diálogo modelos e pixels. Para caixas de diálogo que não usam a fonte do sistema, a conversão de unidades modelo diálogo para pixels depende o tipo de letra utilizado pela caixa de diálogo.

Para qualquer tipo de caixa de diálogo, é mais fácil usar o MapDialogRect função para executar a conversão. MapDialogRect tem o tipo de letra em conta e converte corretamente um retângulo de diálogo modelo unidades em pixels.

GetDialogBaseUnits(VOID) longo 

Parâmetros

Esta função não tem parâmetros.

Retornar valores

O valor de retorno é um 32-bit valor que contém as unidades de base do diálogo. A baixa-palavra ordem da valor de retorno contém a unidade base da caixa de diálogo horizontal e o alto-ordem palavra contém a unidade base da caixa de diálogo vertical.

Observações

A unidade base horizontal retornada por GetDialogBaseUnits é igual à média largura, em pixels, dos caracteres na fonte do sistema; a unidade base vertical é igual a altura, em pixels, da fonte.

Para uma caixa de diálogo que não usa a fonte sistema, as unidades de base são o médio largura e altura, em pixels, dos caracteres na fonte da caixa de diálogo. Você pode usar o GetTextMetrics e funções de GetTextExtentPoint32 para calcular esses valores para um tipo de letra seleccionado. No entanto, usando o MapDialogRect função, você pode evitar erros que possam resultar se os cálculos forem diferentes daquelas executadas pelo sistema.

Cada unidade base horizontal é igual a 4 unidades de modelo de caixa de diálogo horizontal; cada unidade base vertical é igual a 8 unidades de modelo de diálogo vertical. Portanto, para converter unidades de modelo de diálogo para pixels, use as seguintes fórmulas:

pixelX = (templateunitX * baseunitX) / 4 pixelY = (templateunitY * baseunitY) / 8 

 

Da mesma forma, para converter de pixels em unidades modelo diálogo, utilizar as seguintes fórmulas:

templateunitX = (pixelX * 4) / baseunitX templateunitY = (pixelY * 8) / baseunitY 

 

A multiplicação é executada antes da divisão para evitar problemas de arredondamento se unidades de base não forem divisíveis por 4 ou 8.

Windows CE: Windows CE não suporta quaisquer valores de erro estendidas para esta função.

QuickInfo

nbsp; Windows &NT: requer a versão 3.1 ou posterior.
Windows:Requer o Windows 95 ou posterior.
Windows CE:Requer versão 1.0 ou posterior.
Cabeçalho:Declarado em WinUser. h.
Biblioteca de importação:Use user32.lib.

Ver também

Visão geral de caixas de diálogo, funções de caixa de diálogo, MapDialogRect

Index