MFC绘图对象与字体使用详解

需积分: 27 8 下载量 109 浏览量 更新于2024-08-19 收藏 8.96MB PPT 举报
"MFC绘图对象-字体-WIN32,MFC,COM非常健全的ppt" 在Windows编程中,MFC(Microsoft Foundation Classes)是一个面向对象的类库,它建立在WIN32 API之上,为开发者提供了一种更方便的方式来编写Windows应用程序。在MFC中,`CFont`类是用于处理字体的对象,它封装了Windows的字体句柄(HFONT)以及相关API,简化了字体的创建、选择和使用。 `CFont`的使用通常涉及以下几个步骤: 1. **创建字体**:首先,你需要创建一个`CFont`对象,并通过调用`CreateFont`成员函数来定义字体的属性,如字体名称、大小、样式(粗体、斜体等)。例如: ```cpp CFont myFont; myFont.CreateFont(-12, 0, 0, 0, FW_NORMAL, FALSE, FALSE, FALSE, ANSI_CHARSET, OUT_DEFAULT_PRECIS, CLIP_DEFAULT_PRECIS, DEFAULT_QUALITY, FIXED_PITCH | FF_DONTCARE, _T("Arial")); ``` 这里创建了一个12号的Arial字体,常规样式,无加粗和斜体。 2. **选择字体**:创建好字体后,你需要将其选入当前设备上下文(CDC)中,这样后续的绘图操作才会使用这个字体。这可以通过`SelectObject`函数实现: ```cpp CDC* pDC = GetDC(); // 获取设备上下文 pDC->SelectObject(&myFont); // 选择字体 ``` 3. **输出文字**:现在,你可以使用`TextOut`函数在指定位置输出文本,它会使用之前选择的字体: ```cpp pDC->TextOut(10, 10, _T("Hello, World!")); // 在坐标(10, 10)处输出文本 ``` 4. **选出字体**:在完成文字输出后,记得使用`SelectObject`函数恢复原来的设备上下文状态,即将原来的字体选回: ```cpp pDC->SelectObject(&oldFont); // 选出原来的字体 ReleaseDC(pDC); // 释放设备上下文 ``` 除了`CFont`,在Windows编程中,还有其他重要的概念和技术。例如,`WinMain`函数是窗口程序的入口点,而`DllMain`是动态链接库(DLL)的入口点。不同类型的Windows应用程序有不同的文件存在方式和执行方式:控制台程序通常是EXE文件,运行于DOS窗口;窗口程序也有EXE文件,有自己的窗口交互;动态库程序是DLL文件,由其他程序调用执行;静态库程序是LIB文件,其代码会被嵌入到目标程序中。 在开发Windows应用程序时,Visual Studio C++是一个常用的集成开发环境,包含了编译器(CL.EXE)、链接器(LINK.EXE)、资源编译器(RC.EXE)等工具,以及像kernel32.dll、user32.dll和gdi32.dll这样的核心库和API。Windows.h是所有Windows头文件的集合,包含了所有必要的类型定义和函数声明,如`CreateFont`、`TextOut`等。开发过程中,通常会包含如`winbase.h`、`wingdi.h`和`winuser.h`等特定的头文件来使用相应的API。 通过这些基本的Windows编程知识,你可以创建各种类型的应用程序,包括控制台程序、窗口程序、静态库程序和动态库程序。在Visual Studio中,这些不同类型的应用程序可以通过项目模板轻松创建。