该函数的参数要求是一个TEXTMETRIC结构体的指针 也就是说我们可以定义一个结构类型的变量 将该变量的地址传递进来 通过该函数就能得到当前字体的信息来填充这个结构体

int CXuexi2View::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
if (CView::OnCreate(lpCreateStruct) == -1)
return -1;
//调用Windows处理函数对应的create
// TODO: Add your specialized creation code here
/* CClientDC dc(this);
TEXTMETRIC tm;
dc.GetTextMetrics(&tm);//得到窗口字体信息
CreateSolidCaret(tm.tmAveCharWidth/8,tm.tmHeight);//用于表示插入符的消息、/8经过试验以后验证是最好的
ShowCaret();
*/
CreateSolidCaret(1,10);//自己定义窗口的插入符的大小
ShowCaret();

return 0;
}

CDC::GetTextMetrics

BOOL GetTextMetrics( LPTEXTMETRIC lpMetrics ) const;

Return Value

Nonzero if the function is successful; otherwise 0.

Parameters

lpMetrics

Points to the TEXTMETRIC structure that receives the metrics.

Remarks

Retrieves the metrics for the current font using the attribute device context.

typedef struct tagTEXTMETRIC { // tm
    LONG tmHeight; 插入符的高度
    LONG tmAscent; 升序的高度 gh他们高度不一样h高一点  所以h带表了升序的高度
    LONG tmDescent; 降序的高度g-h表示了降序的高度
    LONG tmInternalLeading;
    LONG tmExternalLeading;
    LONG tmAveCharWidth; 字符的平均宽度值
    LONG tmMaxCharWidth;
    LONG tmWeight;
    LONG tmOverhang;
    LONG tmDigitizedAspectX;
    LONG tmDigitizedAspectY;
    BCHAR tmFirstChar;
    BCHAR tmLastChar;
    BCHAR tmDefaultChar;
    BCHAR tmBreakChar;
    BYTE tmItalic;
    BYTE tmUnderlined;
    BYTE tmStruckOut;
    BYTE tmPitchAndFamily;
    BYTE tmCharSet;
} TEXTMETRIC;
 

GetTextMetrics的更多相关文章

  1. GetTextMetrics与GetTextExtent的区别

    GetTextMetrics:获取当前字体的信息 GetTextExtent:获取特定的字符串在屏幕上所占的宽度和高度 CDC::GetTextMetrics 作用: 返回当前设备描述表中的当前所用的 ...

  2. [函数] Firemonkey Windows 重新计算 Font Baseline

    计算字型 Baseline 是一个不常用的函数,但如果想要显示不同大小文字下方对齐,就得用它来计算字型的 Baseline 才行,如果计算不准,显示的文字就会高高低低不整齐. 在 Firemonkey ...

  3. Windows API 函数列表 附帮助手册

    所有Windows API函数列表,为了方便查询,也为了大家查找,所以整理一下贡献出来了. 帮助手册:700多个Windows API的函数手册 免费下载 API之网络函数 API之消息函数 API之 ...

  4. 【Windows编程】系列第十篇:文本插入符

    大家知道,在使用微软的编程环境创建工程时会让你选择是控制台模式还是Windows应用程序.如果选择控制台的console模式,就会在运行时出现一个黑洞洞的字符模式窗口,里面就有等待输入一闪一闪的插入符 ...

  5. 一个修改过简化版的InputQuery

    主要是觉得在单输入的情况下, 原来InputQuery输入框左边的文本太难看了...... function _InputQuery(const ACaption: string; const APr ...

  6. Microsoft Win32 to Microsoft .NET Framework API Map

    Microsoft Win32 to Microsoft .NET Framework API Map .NET Development (General) Technical Articles   ...

  7. 孙鑫MFC学习笔记5:文本显示

    1.CreateSolidCaret添加一个插入符 参数:宽度,高度 如果设为0,就设为默认窗口边界的宽度和高度 2.GetSystemMetrics获取默认窗口边界的宽度和高度 3.Caret在创建 ...

  8. 英文不好也能快速"记忆" API

    英文不好不要紧,把API函数导入打字练习类软件,即是练习打字速度,提高编程效率:也能短时间记忆API. 坚持每天打一遍,约2小时,连续打两周,会对API有很好的记忆,此方法是结合英文学习方法!以下是W ...

  9. Windows程序设计(第五版)学习:第四章 文本输出

    第四章 文本输出 1,客户区:整个应用程序窗口中没有被标题栏.边框.菜单栏.工具栏.状态栏和滚动条占用的区域.简而言之,客户区就是窗口中程序可以在上面绘制并向用户传达可视化信息的区域.   2,大多数 ...

随机推荐

  1. poj 1113Wall

    http://poj.org/problem?id=1113 #include<cstdio> #include<cstring> #include<cstdlib> ...

  2. h.264全搜索以及快速全搜索算法

    Full Search 全搜索算法是最简单暴力的一种搜索算法,对搜索范围内的所有像素点都进行匹配对比,选出最合适的运动向量,以下就是一个搜索范围为4的全搜索范围(单个像素点) /*! ******** ...

  3. ISO14443协议中,卡片对RATS,PPS,IBLOCK的处理约定

    这几天总是看到有人因为这几条规则没处理好,结果检测时通不过,其实看看最新版的ISO14443协议就明白了. 协议中明确要求几条: 1.在激活状态后,如果收到一个无错的RATS命令后,卡片返回atr,此 ...

  4. 科通芯城:用B2C的方式做B2B

    上线两年,科通芯城的年收入有望突破50亿,一个传统分销商用2c的方式做b2b,也能进行自我革命. 文 | 王海天 这个网站的名字叫科通芯城,于2011年下半年在深圳正式上线,卖的商品是IC元器件,包括 ...

  5. VS2013下的Nmake编译链接成win XP的可执行程序

    nmake下没有指定toolset=vc120_xp等类似物.但是,可以指定Link.exe的链接参数,指定子系统就可以了,/SUBSYSTEM:[WINDOWS | CONSOLE],5.01 5. ...

  6. Linux&shell之处理用户输入

    写在前面:案例.常用.归类.解释说明.(By Jim) 命令行参数$1为第一个参数,$2为第二个参数,依次类推...示例: #!/bin/bash # using one command line p ...

  7. C# 实现3Des加密 解密

    3Des对每个数据块进行了三次的DES加密算法,是DES的一个更安全的变形.比起最初的DES,3DES更为安全. 都是感觉一目了然的摘过来. 下面是加密解密的源码.ECB模式的. public cla ...

  8. objc_msgSend iOS8 EXC_BAD_ACCESS

    如果方法是没有返回值的,需要强转一个返回类型为void的临时函数指针, void (*objc_msgSendTyped)(id self, SEL _cmd, id obj, id arg1) = ...

  9. Something broke! (Error 500)——reviewboard

    Something broke! (Error 500) 1.什么时候会出现? 不清楚,出现过几次 2.解决手段及方法: 更改/www_rb/conf/settings_local.py文件,将DEB ...

  10. 微信小程序简易教程

    刚接触到微信小程序开发,这里做一个简单的教程: 1. 获取微信小程序的 AppID 登录 https://mp.weixin.qq.com ,就可以在网站的"设置"-"开 ...