MFC_Font

1、创建字体类的步骤:

  1.1、定义一个CFont类,

  1.2、使用CFont类中的CreateFont()函数,创建一个字体就可以了,CreateFont()函数的第一个参数是字体的大小,最后一个是字体的类型。

2、字符串类的用法:

  2.1、先定义一个CString类事例

  2.2、然后可以用CString::Format()函数,来给这个字符串类赋予给定的字符串,这个函数的用法和printf()函数的用法一致,只不过printf()函数将

    字符串打印到了频幕上,而这个函数将字符串保存在类实例中。

3、

typedef struct {
  DWORD lStructSize;    
  HWND hwndOwner;    //所属窗口,可以是null
  HDC hDC;    //废弃
  LPLOGFONT lpLogFont;    //这个特别重要,这个指针指向的LogFont结构,接受我们选择的字体参数,使用这个指针变量指向的结构体,
              //来创建我们自己的字体,创建的字体就是我们选择的字体。
  INT iPointSize;    //初始化字体选择对话框,不理,赋予null
  DWORD Flags;    //对字体选择通用对话框格式进行设置的一个标志。
  COLORREF rgbColors;    //选择的字体颜色。
  LPARAM lCustData;    //null
  LPCFHOOKPROC lpfnHook;    //null
  LPCTSTR lpTemplateName;    //null
  HINSTANCE hInstance;    //null  
  LPTSTR lpszStyle;    //null
  WORD nFontType;    //null
  INT nSizeMin;    //null
  INT nSizeMax;    //null
} CHOOSEFONT, *LPCHOOSEFONT;

4、选择通用字体对话框

void CMFC_FontView::OnFont()
{
    font.DeleteObject();    //选择字体格式的时候要先清空现有格式。
    CHOOSEFONT choosefont = { 0 };
    choosefont.lStructSize = sizeof(CHOOSEFONT);
    LOGFONT LogFont;
    choosefont.lpLogFont = &LogFont;    //提供字体格式选择
    choosefont.Flags |= CF_EFFECTS | CF_INITTOLOGFONTSTRUCT;    //第一个标志提供颜色选择,第二个标志表示保存上一次的字体格式。
    
    ChooseFont(&choosefont);            //返回选择的结果,choosefont被填充,
    font.CreateFontIndirect(&LogFont);    //使用字体通用对话框中选中的字体,来创建字体
    color = choosefont.rgbColors;        //使用字体通用对话框中选中的颜色,在提供颜色选择的前提下才能使用.
    Invalidate();//让新设置的字体生效
}

5、

posted @ 2017-08-28 13:07  _xiaohaige  阅读(919)  评论(0)    收藏  举报