《WINDOWS程序设计》第四章关于TEXTOUT的小问题

文章原文是这样说的:

您会发现常常需要显示格式化的数字跟简单的字符串。我在第二章讲到过,您不能使惯用的工具(可

爱的printf 函数)来完成这项工作,但是可以使用sprintf 和Windows 版的sprintf-wsprintf。这些函

数与printf 相似,只是把格式化字符串放到字符串中。然后,可以用TextOut 将字符串输出到显示器上。

非常方便的是,从sprintf 和wsprintf 传回的值就是字符串的长度。您可以将这个值传递给TextOut 作为

iLength 参数。下面的程序代码显示了wsprintf 与TextOut 的典型组合:

int iLength ;

TCHAR szBuffer [40] ;

其它行程序

iLength = wsprintf(szBuffer, TEXT("The sum of %i and %i is %i"),

iA, iB, iA + iB) ;

TextOut(hdc, x, y, szBuffer, iLength) ;

对于这样简单的情况,可以将nLength 的定义值与TextOut 放在同一条叙述中,从而无需定义iLength:

TextOut(hdc, x, y, szBuffer,

wsprintf(szBuffer, TEXT("The sum of %i and %i is %i"),

iA, iB, iA + iB)) ;

虽然这样子写起来不好看,但是功能与前者是一样的。

综合使用

问题1:

示例代码

iLength = wsprintf(szBuffer, TEXT("The sum of %i and %i is %i"),

iA, iB, iA + iB) ;

TextOut(hdc, x, y, szBuffer, iLength) ;

中的格式字符%i是什么意思?我翻了很多关于C语言的书,也没找到这个格式字符。

问题2:

示例程序SYSMETS1的WndProc函数在处理WM_PAINT消息时:

case WM_PAINT :

hdc = BeginPaint (hwnd, &ps) ;

for (i = 0 ; i < NUMLINES ; i++)

{

TextOut (hdc, 0, cyChar * i,

sysmetrics[i].szLabel,

lstrlen (sysmetrics[i].szLabel)) ;

TextOut (hdc, 22 * cxCaps, cyChar * i,

sysmetrics[i].szDesc,

lstrlen (sysmetrics[i].szDesc)) ;

SetTextAlign (hdc, TA_RIGHT | TA_TOP) ;

TextOut (hdc, 22 * cxCaps + 40 * cxChar, cyChar * i, szBuffer,

wsprintf (szBuffer, TEXT ("%5d"),

GetSystemMetrics (sysmetrics[i].iIndex))) ;

SetTextAlign (hdc, TA_LEFT | TA_TOP) ;

}

EndPaint (hwnd, &ps) ;

return 0 ;

其中的:

TextOut (hdc, 0, cyChar * i,

sysmetrics[i].szLabel,

lstrlen (sysmetrics[i].szLabel)) ;

TextOut (hdc, 22 * cxCaps, cyChar * i,

sysmetrics[i].szDesc,

lstrlen (sysmetrics[i].szDesc)) ;

为什么不采用wsprintf对所显示的字符串进行处理,就像后面

TextOut (hdc, 22 * cxCaps + 40 * cxChar, cyChar * i, szBuffer,

wsprintf (szBuffer, TEXT ("%5d"),

GetSystemMetrics (sysmetrics[i].iIndex))) ;

那样。

c语言textout字体大小,《WINDOWS程序设计》第四章关于TEXTOUT的小问题相关推荐

  1. TIA博途Wincc中设置不同语言下字体大小的具体方法

    TIA博途Wincc中设置不同语言下字体大小的具体方法 大家在做多语言的项目时,可能会遇到这样的情况: 即博图编写的触摸屏语言切换时,中文翻译成英文太长了,遮挡了其他地方,那么如何设置不同语言下的字体 ...

  2. c语言中除法除以1000与1e3,北京航空航天大学C语言b第二讲(第三、四章)数据类型、运算符与表达式和最简单的C程序设计.ppt...

    <北京航空航天大学C语言b第二讲(第三.四章)数据类型.运算符与表达式和最简单的C程序设计.ppt>由会员分享,可在线阅读,更多相关<北京航空航天大学C语言b第二讲(第三.四章)数据 ...

  3. MFC Windows 程序设计[九十四]之精美的时钟(附源码)

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

  4. c语言实现bf算法的定位函数,数据结构c语言版严蔚敏清华大学出版社第四章串.ppt...

    数据结构c语言版严蔚敏清华大学出版社第四章串 模式匹配(定位) 设有主串S和子串T(将S称为目标串,将T称为模式串),在主串S中,从位置start开始查找,如若在主串S中找到一个与子串T相等的子串,则 ...

  5. Windows PE 第四章 导入表

    第四章 导入表 导入表是PE数据组织中的一个很重要的组成部分,它是为实现代码重用而设置的.通过分析导入表数据,可以获得诸如OE文件的指令中调用了多少外来函数,以及这些外来函数都存在于哪些动态链接库里等 ...

  6. JavaScript高级程序设计 第四章---变量 作用域 内存

    第四章-变量 作用域 内存 关键字:变量 作用域 内存 本章内容 通过变量使用原始值与引用值 理解执行上下文 理解垃圾回收 4.1 原始值与引用值 ECMAScript 变量可以包含两种不同类型的数据 ...

  7. JavaScript 高级程序设计第四章解读,总结。

    第四章 变量,作用域与内存 通过变量使用原始值 - 1. 原始值与引用值+ 原始值: 最简单的数据+ 引用值: 多个值构成的对象 - 2. 原始值有哪些+ Undefined Null Boolean ...

  8. Java写文字冒险类游戏_用木兰语言编写文字冒险游戏(十三、四章),又一个特性发现...

    继续改写 Python 文字冒险游戏,第十三章的主要添加了玩家在每格的行动限制: func 选择命令(位置, 玩家) { 行动 = nil while !行动 { 可选行动 = 取可选行动(位置, 玩 ...

  9. c语言textout字体大小,textout函数怎么用

    MFC里 用pDC->TextOut 这个函数怎么实现未知数据输我最近刚开始学计算机图形学还是个纯小白-- 不大懂 想问各路大神.比如欢迎来到CSS布局HTML,TextOut 是用来输出文本的 ...

最新文章

  1. iredmail 邮件服务器搭建
  2. css禁止双击dom节点被选中user-select:none
  3. python函数的两种嵌套方法
  4. 安装bashee-1-1.2.1.tar.bz2多媒体播放器时的出错问题
  5. bioinformaitcs的latex版本参考文献填坑
  6. matlab数组存字符串,MATLAB字符串数组存储为CSV格式
  7. Java当中TreeMap用法
  8. 大数据之-Hadoop之HDFS_HDFS存储块的大小设置_设置成多少合理_为什么不能设置太小也不能设置太大---大数据之hadoop工作笔记0051
  9. 非平衡电桥电阻计算_直流双臂电桥使用方法,统统告诉你
  10. android 拼图小游戏
  11. TP-link与电力线通信(智能电网)
  12. ps快速抠头发-庞姿姿
  13. 走进3D投影秀,感受艺术创意“无止境”…
  14. 为什么我会感到迷茫? 文/江湖一剑客
  15. 张朝阳对话俞敏洪:谈宇宙、谈焦虑、谈创业、谈退休、谈人生
  16. 关于F4高级定时器死区时间的计算
  17. Android App包瘦身优化
  18. Redis学习之publish命令
  19. python随笔01(robotframework自动化)
  20. 学习spring英文官方文档方法

热门文章

  1. 2021第二届“祥云杯”网络安全大赛 部分Writeup
  2. 三国志战略版:Daniel_也甜也咸-青州兵分析
  3. 原生js实现addClass,removeClass,hasClass方法
  4. 法瑞意游记+攻略 八(罗马 一月二日) 未完
  5. kgsl ioctl
  6. docker 实现redis集群
  7. Fujifilm FinePix T500 Camera Features Review
  8. 30个你应该在2022年里使用的JavaScript 动画库
  9. Qt控件样式之QSS
  10. Data Race Free 的前世今生