文本 GDI字体 CFont
CDC文本函数
DrawText在格式化矩形中显示文本
TextOut在当前或指定位置输入一行文本
TabbedTextOut 输出一行憨厚制表符的文本
ExtTextOut 输入一行文本,并有选择地给矩形填充背景色或改变字符间距
GetTextExtent计算当前字体下一个字符串的宽度
GetTabbedTextExtent 计算当前字体下含有制表符字符串的宽度
GetTextMetrics返回当前字体的字体度量(字符高度、字符平均宽度等)
SetTextAlign给输出函数设定对齐参数
SetTextJustification确定对齐一串文本时需要增加的宽度
SetTextColor设定设备描述表的文本输出颜色
SetBkColor设定设备描述表的背景色,输入字符背后的填充色
创建CFont
CFont myfont;
Myfont.CreatePointFont(120,_T(“Times New Roman”));
//
Myfont.CreateFont(nHeight,0,0,0,FW_NORMAL,0,0,0,DEFAULT_CHARSET,OUT_CHARACTER_PRECIS,CLIP_CHARACTER_PRECIS,DEFAULT_QUALITY,DEFAULT_PITCH | FF_DONTCARE,_T(“Times New Roman”));
//
LOGFONT lf;
ZeroMemory(&lf,sizeof(lf));//内存清0
Lf.lfHeight=120;
Lf.lfWeight=FW_BOLD;
Lf.lftalic=TRUE;
Lstrcpy(lf.lfFaceName,_T(“Times New Roman”));//将一个文字字符串从一个内存位置复制到另一个位置。(C函数memset strcpy _lcscpy)
Myfont.CreatePointFontIndirect(&lf);
实例:
在OnPaint中 通过重画两次字符 实现阴影字符效果
void CMfctestView::OnPaint()
{
CPaintDC dc(this); // device context for painting
// TODO: Add your message handler code here
CFont font;
       font.CreatePointFont(720,_T("Arial"));//定义字体
       dc.SelectObject(&font);//将字体选入设备描述表
       dc.SetBkMode(TRANSPARENT);//设置透明背景 否则 默认白色背景会覆盖掉第一次绘制的阴影字体
       CString str=_T("Hello!");//定义绘制的文字
       CRect rect;
       GetClientRect(&rect);//绘制区域
       rect.OffsetRect(16,16);
       dc.SetTextColor(RGB(192,192,192));
       dc.DrawText(str,&rect,DT_SINGLELINE | DT_CENTER | DT_VCENTER);//绘制底层灰色阴影字体
       rect.OffsetRect(-16,-16);
       dc.SetTextColor(RGB(0,0,0));
       dc.DrawText(str,&rect,DT_SINGLELINE | DT_CENTER | DT_VCENTER);//绘制黑色文字
// Do not call CView::OnPaint() for painting messages
}
★如果创建一个字体如:Arial 但系统中并没有安装这个字体,GDI会自动选择系统中与之相近的字样,而不是让这次调用失败。

MFC Windows 程序设计(4)相关推荐

  1. MFC Windows 程序设计[192]之六只眼八卦图按钮组(附源码)

    MFC Windows 程序设计[192]之六只眼八卦图按钮组 程序之美 前言 主体 运行效果 核心代码 逻辑分析 结束语 程序之美 前言 MFC是微软公司提供的一个类库(class librarie ...

  2. MFC Windows 程序设计[253]之美丽的编辑搜索框(附源码)

    MFC Windows 程序设计[253]之美丽的编辑搜索框 程序之美 前言 主体 运行效果 核心代码 逻辑分析 结束语 程序之美 前言 MFC是微软公司提供的一个类库(class libraries ...

  3. MFC Windows 程序设计[323]之噪声特征流显示gribble2(附源码)

    MFC Windows 程序设计[323]之噪声特征流显示gribble2 程序之美 前言 主体 运行效果 核心代码 逻辑分析 结束语 程序之美 前言 MFC是微软公司提供的一个类库(class li ...

  4. MFC Windows 程序设计[五十六]之开启子对话框(附源码)

    MFC Windows 程序设计[五十六]之开启子对话框 程序之美 前言 主体 运行效果 核心代码 逻辑分析 结束语 程序之美 前言 MFC是微软公司提供的一个类库(class libraries), ...

  5. MFC Windows 程序设计[315]之磁盘文件列举器(附源码)

    MFC Windows 程序设计[315]之磁盘文件列举器 程序之美 前言 主体 运行效果 核心代码 逻辑分析 结束语 程序之美 前言 MFC是微软公司提供的一个类库(class libraries) ...

  6. MFC Windows 程序设计[218]之网络打印机(附源码)

    MFC Windows 程序设计[218]之网络打印机 程序之美 前言 主体 运行效果 核心代码 逻辑分析 结束语 程序之美 前言 MFC是微软公司提供的一个类库(class libraries),以 ...

  7. 模式对话框和非模式对话框的区别(出自MFC windows程序设计第二版p370)

    模式对话框和非模式对话框的区别:(出自<MFC windows程序设计>第二版p370) 1.显示模式对话框需要调用CDialog::DoModal,而显示无模式对话框则要调用CDialo ...

  8. MFC Windows 程序设计[325]之表格控件例程(附源码)

    MFC Windows 程序设计[325]之表格控件例程 程序之美 前言 主体 运行效果 核心代码 逻辑分析 结束语 程序之美 前言 MFC是微软公司提供的一个类库(class libraries), ...

  9. MFC Windows 程序设计[六十]之窗口分屏(附源码)

    MFC Windows 程序设计[六十]之窗口分屏 程序之美 前言 主体 运行效果 核心代码 逻辑分析 结束语 程序之美 前言 MFC是微软公司提供的一个类库(class libraries),以C+ ...

  10. MFC Windows 程序设计[195]之最大最小化串连格子(附源码)

    MFC Windows 程序设计[195]之最大最小化串连格子 程序之美 前言 主体 运行效果 核心代码 逻辑分析 结束语 程序之美 前言 MFC是微软公司提供的一个类库(class librarie ...

最新文章

  1. GVIM中文编码出现乱码的解决方案
  2. n皇后问题java版
  3. python基础(part2)--核心数据类型
  4. axios打包放到服务器上接口地址404_如何把网页文件放到云虚拟主机
  5. java 字符数组与字符串_用于字符串和数组的5种简单有效的Java技术
  6. OutLook 2010 (Bata) 中的邮件导出功能
  7. spark学习:org.apache.spark.SparkException: A master URL must be set in your config
  8. python requests请求终止_Requests 如何中断请求?
  9. 2018年python工作好找吗-2018年Python发展前景如何?Python就业有哪些方向?
  10. select函数的使用
  11. HTML5——meta标签总结
  12. 1.10全角色FCR,FBR,FHR表
  13. Nofollow标签的写法以及nofollow使用介绍
  14. Linux之ARM(IMX6U)裸机主频和时钟配置
  15. css样式字体文本汇总
  16. Windows 11新版本安装时需要联网及登录微软账号
  17. 股市的起源发展和意义
  18. Calendar 获得当前日期是这一年的第几天
  19. 学生成绩平均绩点计算:绩点计算器(5.0分制,Java、C实现)
  20. Android 10适配要点,作用域存储

热门文章

  1. 触摸G4全球定位系统的Wi-Fi无线中国手机
  2. 数据库专题训练实验-------存储过程
  3. 葡萄美酒夜光杯 陶瓷膜过滤就是对
  4. FS68001无线充SOC芯片外围简单,5W无线充方案原理图
  5. JS 哪些事件支持冒泡
  6. Container启动
  7. c语言医生值班题目讲解,C++编程:医院有A、B、C、D、E、F、G七位医生(大夫,护士),,每人在一周内要值一次夜班。排班的要求是:...
  8. 数据库的应用系统开发方法
  9. 【使用两个栈实现队列】
  10. 数据恢复:在 Linux 上恢复删除了的文件