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
Esta função não tem parâmetros.
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.
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.
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.
Visão geral de caixas de diálogo, funções de caixa de diálogo, MapDialogRect