• CFontDialog学习


    void CMfcFontDlgDlg::OnBtnFont() 
    {
        // Show the font dialog with all the default settings.
        CFontDialog dlg;
        dlg.DoModal();
    }
    
    void CMfcFontDlgDlg::OnBtnFontSpecial() 
    {
        // Show the font dialog with 12 point "Times New Roman" as the selected font.
        LOGFONT lf;
        memset(&lf, 0, sizeof(LOGFONT));
        
        CClientDC dc(this);
        lf.lfHeight = -MulDiv(12, dc.GetDeviceCaps(LOGPIXELSY), 72);
        strcpy(lf.lfFaceName, "Times New Roman");
        
        CFontDialog dlg(&lf);
        // The code fragment creates a font based on the information we got from CFontDialog::m_cf variable.
        if (dlg.DoModal() == IDOK)
        {
            // Create the font using the selected font from CFontDialog.
            LOGFONT lf;
            memcpy(&lf, dlg.m_cf.lpLogFont, sizeof(LOGFONT));
            
            CFont font;
            VERIFY(font.CreateFontIndirect(&lf));
            
            // Do something with the font just created...
            CClientDC dc(this);
            CFont* def_font = dc.SelectObject(&font);
            dc.TextOut(5, 5, "Hello", 5);
            dc.SelectObject(def_font);
            
            // Done with the font. Delete the font object.
            font.DeleteObject();
        }
    }
    
    void CMfcFontDlgDlg::OnBtnFontProperty() 
    {    
        // Get the characteristics
        CFontDialog dlg;
        if (dlg.DoModal() == IDOK)
        {
            // Get the characteristics of the currently selected font, if any.
            LOGFONT lf;
            dlg.GetCurrentFont(&lf);
            TRACE("Face name of the selected font = %s
    ", lf.lfFaceName);
            // Get the face name of the selected font, if any.
            CString facename = dlg.GetFaceName();
            TRACE("Face name of the selected font = %s
    ", facename);
            // Get the style name of the selected font, if any.
            CString stylename = dlg.GetStyleName();
            TRACE("Style name of the selected font = %s
    ", stylename);
            // Get the size of the selected font, if any.
            int size = dlg.GetSize();
            TRACE("The size of the selected font = %d
    ", size);
            // Get the color of the selected font, if any.
            COLORREF color = dlg.GetColor();
            TRACE("Color of the selected font = %8x
    ", color);
            // Get the weight of the selected font, if any.
            int weight = dlg.GetWeight();
            TRACE("Weight of the selected font = %d
    ", weight);
            // Is the selected font displayed with strikeout?
            BOOL strikeout = dlg.IsStrikeOut();
            TRACE("Is the selected font displayed with strikeout? %d
    ", strikeout);
            // Is the selected font underlined?
            BOOL underline = dlg.IsUnderline();
            TRACE("Is the selected font underlined? %d
    ", underline);
            // Is the selected font bold?
            BOOL bold = dlg.IsBold();
            TRACE("Is the selected font bold? %d
    ", bold);
            // Is the selected font italic?
            BOOL italic = dlg.IsItalic();
            TRACE("Is the selected font italic? %d
    ", italic);
        }    
    }
  • 相关阅读:
    socket 中文man页面函数
    指针和数组(上)
    char和unsigned char--数据类型区别
    自己的总结
    warning C4305:“初始化”:从“double”到“float”截断
    指针数组和数组指针区别
    Python模块常用的几种安装方式
    Jenkins环境搭建
    wxPython:事件
    wx.ListCtrl简单使用例子
  • 原文地址:https://www.cnblogs.com/MakeView660/p/7704228.html
Copyright © 2020-2023  润新知