MFC 画字体DrawText()或TextOut(),CFont字体样式类

新建单个文档的MFC应用程序,类视图——View项的属性——消息,WM_PAINT,创建OnPaint()函数

void CMFCApplication27View::OnPaint()
{
    CPaintDC dc(this); // device context for painting
    // TODO:  在此处添加消息处理程序代码
    CRect rect;
    this->GetClientRect(&rect);//获取客户区大小

    CFont font;//用来设置大小、样式,颜色用dc.SetTextColor设置
    font.CreatePointFont(200, TEXT("Arial"));//20号字
    dc.SelectObject(&font);
    //-------------------- 矩形框偏移,阴影效果 -------------------------------------//
    dc.SetBkMode(TRANSPARENT);//透明,否则新的遮住旧的
    rect.OffsetRect(20, 20);//右、下偏移20
    dc.SetTextColor(RGB(192, 192, 192));//灰色
    dc.DrawText(TEXT("DrawText画文本"), &rect, DT_SINGLELINE | DT_CENTER | DT_VCENTER);//方式一,客户区、单行、上下左右居中
    rect.OffsetRect(-20, -20);//左、上偏移20
    dc.SetTextColor(RGB(0, 0, 0));//黑色
    dc.DrawText(TEXT("DrawText画文本"), &rect, DT_SINGLELINE | DT_CENTER | DT_VCENTER);
    //---------------------------------------------------------------------//
    dc.TextOut(10, 10, TEXT("TextOut画文本"));//方式二,起始点(10,10)
    //-------------------- 画字方式三 -------------------------------------//
    LOGFONT lf; //逻辑字
    ::ZeroMemory(&lf, sizeof(lf));//清内存,::可以调用API函数
    lf.lfHeight = 120;//12号字
    lf.lfWeight = FW_BOLD;//加粗
    lf.lfItalic = TRUE;//斜体
    ::lstrcpy(lf.lfFaceName, TEXT("Times New Roman"));

    CFont font2;
    font2.CreatePointFontIndirect(&lf);
    dc.SelectObject(&font2);
    dc.TextOut(10, 50, TEXT("逻辑字"));
}

原文地址:https://www.cnblogs.com/xixixing/p/11961992.html

时间: 2024-10-12 05:56:36

MFC 画字体DrawText()或TextOut(),CFont字体样式类的相关文章

【MFC】MFC改变对话框中静态文本的字体大小

MFC改变对话框中静态文本的字体大小 2010/08/09 11:30 VC的对话框字体设置对所有控件都有效,你不能单独地改变某个静态文本的字体.对于你的问题,需要首先用CreateFont来建立一个字体对象,然后调用控件的SetFont,就可以了. 例子: 1.改静态文体的ID,如:IDC_STATIC1 2.添加一个Edit控件,建立一个关联的控件m_editControl. 3.在OnInitDialog中添加如下代码: CFont * f; f = new CFont; f->Creat

CFont 字体类

CFont 字体类 初始化函数 CreateFontIndirect 初始化一个由LOGFONT结构给出其特征的CFont对象 CreateFont 初始化用指定特性定义的CFont对象 CreatePointFont 用指定高度(用0.1点)和字体初始化一个CFont对象 CreatePointFontIndirect 与CreateFontIndirect相似,但字体高度用0.1点定义而不用逻辑单位定义 操作 FromHandle 当给定一个Windows HFONT时,返回一个指向CFon

[游戏学习23] MFC 画尺子

>_<:这是个简单的MFC程序,有利于了解MFC的框架结构 >_<:Ruler.h 1 #include<afxwin.h> 2 class CMyApp:public CWinApp 3 { 4 public: 5 virtual BOOL InitInstance(); 6 }; 7 class CMainWindow:public CFrameWnd 8 { 9 public: 10 CMainWindow(); 11 protected: 12 afx_msg

MFC画线功能总结

MFC画线功能要点有二:其一,鼠标按下时记录初始位置为线的起始端点,其二,利用不同的方法实现画线.下面着重学习总结画线功能实现方法. 在OnLButtonDown函数中记录起始端点,CPoint m_ptOrigin = point; 在OnLButtonUp函数中实现画线.方法如下: 画线方法一:利用SDK全局函数实现视图窗口画线功能 //获取设备描述表 HDC hdc; //调用全局函数获得当前窗口的设备描述表,CWnd::m_hWnd根据继承原理,CDrawView继承了CWnd类的数据成

Eclipse设置字体,系统中有该字体但是选不到

Window --> Preferences --> General --> Appearance --> Colors and Fonts --> Basic --> Text Font --> Edit 点选择"显示更多字体" Eclipse设置字体,系统中有该字体但是选不到

Fedora 24 Linux 环境下实现 Infinality 字体渲染增强及 Java 字体渲染改善的方法

Fedora 24 Linux 桌面环境默认字体渲染引擎 freetype 及字体配置工具 fontconfig 采用的是未经优化的编译及设置,字体渲染效果比较差.而某些 Linux 发行版的桌面字体渲染看起来很好,甚至能够接近苹果 Mac OS X 系统的效果,实际上是对 freetype 字体渲染引擎进行了修改的缘故.为此,我们可以通过安装 Infinality 的改版 freetype 及 fontconfig 软件包来实现基于 Infinality 的字体渲染效果.Infinality

图标字体的使用(fontello.com)字体推荐及使用技巧

网页设计中为了页面漂亮好看,图标是少不了,网页中使用的图标通常都是使用图片,使用图片图标的有很多弊端,如果你经常制作网页应该有一肚子埋怨. 使用图片图标的弊端 放大图标必须重新作图, 改变颜色必须开启作图软件重新调色,并且不同的颜色就要对应一个图片图标 更多弊端不一一列举 如果这些图标能像字体一样,改变大小,更改颜色,那岂不是太爽了,下面的文字就是介绍一种在网页中使用图标字体的方法. 下面懒人建站来介绍图标字体的使用(fontello.com)字体的使用以及技巧 首先:使用火狐.谷歌或者360极

网页字体介绍以及网页常用字体设置

网页字体设置不同于平面设计等其他媒体设计有更多的艺术字体可供选择. 因为网页设计中永远不要假设客户的电脑上有你使用的字体.为了让我们的网页在绝大多数访客的电脑上看起来一致.就必须使用绝大多数访客电脑上都有的字体. 网页中的字体是通过css设定,如:font-family:'Microsoft Yahei',"simsun"; 意思是先找微软雅黑,如果没有就使用宋体字,当然,如果你的客户是windows中国用户宋体是默认字体,此时font- family:'Microsoft Yahei

CSS为英文和中文字体分别设置不同的字体

font-family的调用方法: div { font-family:Arial,'Times New Roman','Microsoft YaHei',SimHei; font:bold 12px/0.75em Arial,'Times New Roman','Microsoft YaHei',SimHei; } 根据font-family的原则,假如客户终端不认识前面的字体,就自动切换到第二种字体,第二种不认识就切换到第三种,以此类推.假如都不能识别就调用默认字体 根据font-famil