Escolhendo uma fonte

Este tópico descreve codificar exemplo que exibe uma caixa de diálogo tipo de letra para que um usuário possa escolher os atributos de uma fonte. O exemplo de código primeiro Inicializa uma estrutura CHOOSEFONT e, em seguida, chama a ChooseFont função para exibir a caixa de diálogo.

Este exemplo define o sinalizador CF_SCREENFONTS para especificar que a caixa de diálogo deve exibir apenas as fontes de tela. Ele define o sinalizador CF_EFFECTS para exibir os controles que permitem que o usuário selecionar opções de cor, sublinhado e riscado.

Se ChooseFont retorna TRUE, indicando que o usuário clicou no botão OK , o LOGFONT estrutura apontada pelo lpLogFont membro da estrutura CHOOSEFONT contém informações que descrevem a fonte e os atributos de fonte selecionados pelo usuário. O rgbColors membro contém a cor do texto selecionado. O código de exemplo usa essas informações para definir a cor do tipo de letra e texto para o contexto de dispositivo associado com a janela do proprietário.

HWND hwnd;                / / janela do proprietário
HDC hdc;                  / / Exibir dispositivo contexto da janela de proprietário

CHOOSEFONT cf;            / / estrutura de caixa de diálogo comum
static LOGFONT lf;        / / lógica estrutura da fonte
estático DWORD rgbCurrent;   / / atual cor de texto
HFONT hfont, hfontPrev;
DWORD rgbPrev;

/ / Inicializar CHOOSEFONT
ZeroMemory (amp; cf, sizeof(CHOOSEFONT));
cf.lStructSize = sizeof (CHOOSEFONT);
cf.hwndOwner = hwnd;
cf.lpLogFont = & lf;
cf.rgbColors = rgbCurrent;
cf.Sinalizadores = CF_SCREENFONTS | CF_EFFECTS;

se (ChooseFont(&cf) = = TRUE) {
    HFONT = CreateFontIndirect(cf.lpLogFont);
    hfontPrev = SelectObject (hdc, hfont);
    rgbCurrent = cf.rgbColors;
    rgbPrev = SetTextColor (hdc, rgbCurrent);
 .
 .
 .
} 

Index