Windows API-GDI入门基础知识详解(2)
日期:2007年6月24日 作者: 查看:[大字体 中字体 小字体]-
现在我们对GDI的基础概念有了一定的了解,下面我们将对GDI一些常用的函数进行学习。TextOut函数 TextOut函数的作用是把指定的字符串输出在我们指定的屏幕位置上。
函数原型:
BOOL TextOut(
HDC hdc, // 设备描述表句柄
int nXStart, // 输出的x轴水平位置
int nYStart, // 输出的y轴垂直位置
LPCTSTR lpString, // 指向要输出字符串的长指针
int cbString // 字符串长度
);
第一参数是设备描述表句柄,它既可以是通过BeginPaint函数获得的,也可以是通过GetDC函数获得的,需要提一下的是,设备描述表中的属性控制了显示的字符串的一些细节特征,比如字体、字体颜色、文字背景等,但要注意的是保存在设备描述表属性中的文字背景颜色和WNDCLASS结构中的屏幕背景是有区别的,文字背景指的是紧靠字符周围的矩形空间,又叫做字符框。而窗口背景则是一个画刷,Windows用它来擦除显示区域,它不是设备描述表结构中的一部分。
第二和第三个参数定义了显示区域内字符串的开始位置,x是水平位置,y是垂直位置,字符串第一个字符位于坐标点(x,y),在设备描述表属性中,原点(x,y)均为为0,是显示区域的左上角,对于坐标来说,坐标的映射方式的不同决定了单位的不同,在通常情况下传递给函数的坐标被称为逻辑坐标,Windows有许多坐标映射方式,它们是用来控制GDI函数指定的逻辑坐标转换为显示器的实际像素坐标的方式。映射方式在设备描述表的属性中定义,默认的映射方式是MM_TEXT,我们可以在WinGdi.h头文件中找到。在MM_TEXT映射模式下,逻辑单位于实际单位都相同,都是像素,对于坐标来说,x的值从左向右递增,y的值则从上向下递增(见下图),MM_TEXT坐标系与Windows在PAINTSTURCT结构中定义的无效矩形所使用的坐标系相同。

第四个参数是指向要输出字符串的长指针。
第五个参数是要输出的字符串的实际长度。
在Windows下输出文字并不如我们所想象的那么容易,在前面我们已经知道输出文字和坐标有关,我们为了精确的输出文字,就必须对系统的字体和字符大小有进一步的认识。
系统字体
对于输出字符串的函数TextOut来说,在默认情况下设备描述表属性中使用的是系统字体(SYSTEM_FONT),系统字体是Windows用来在标题栏,功能表和对话框中显示字符串所使用的默认字体。
但值得注意的是,字体如果按宽度来区分的话,大致可以分为两类:
1. 等宽字体
- [1] [2] [3] [4] [5] 下一页
-
- Windows API-GDI入门基础知识详解(2) 相关文章:
- ·结束SQL注入隐患3招
- ·Web2.0在中国步入歧途 缺赢利模式VC有错
- ·Windows 7操作系统新技术深入探讨
- ·黑客如何利用文件包含漏洞进行网站入侵
- ·知己知彼 看黑客如何入侵Linux操作系统
- ·深入了解微软Windows 7系统
- ·深入分析Windows操作系统死机问题
- ·2007年Adobe设计大赛入围作品(29)
- ·黑客入侵前的信息收集
- ·平板电视工程菜单进入方法汇总
- Windows API-GDI入门基础知识详解(2) 相关软件
- ·越狱秘密潜入
- ·《深入敌后:雷神战争》火爆试玩
- ·手机游戏:深入黑帮
- ·《交易》— 步入权利与欲望的死亡陷阱
- ·《细致入微的战争铅笔画》
- ·入不思议解脱境界普贤行愿品_男声朗诵版(多背景音乐)
- ·第6届茅盾文学奖入围作品合集
- ·编程教程-MFC入门
- ·猴脑入侵
- ·C语言初学者入门讲座
- 特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作
- 者.文章版权归文章原始作者所有.对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转
- 载的文章有版权问题请联系编辑人员,我们尽快予以更正. 转载请注明来源:http://www.hackhome.com
上一篇:用 c 写 CGI 程序简要指南
精品推荐
热点TOP10
- ·用c#监控网络流量
- ·C#编写的windows计算器-源代码
- ·飞机订票系统设计
- ·C/C++笔试、面试题目大汇总
- ·《俄罗斯方块》程序编写详解
- ·Windows API-GDI入门基础知识详解(2)
- ·socket编程原理
- ·打字游戏
- ·七年IT奋斗纪实及感悟
- ·C #中的几个线程同步对象方法
- ·牛顿和拉格朗日插值算法
- ·VC++动态链接库编程之MFC扩展 DLL
- ·C# 操作文件
- ·如何用C#编写文本编辑器
- ·c#操作word表格
- ·编程特例篇——LOGO语言
- ·Raw Socket(原始套接字)实现Sniffer(嗅探)
- ·无废话C#设计模式之九:Proxy
- ·C#编程中的 New 关键词的几种用法
- ·实战开发 C# 索引器学习笔记
特别推荐
- ·C#程序开发中的常用函数汇总
- ·C#数据库操作的三种经典用法
- ·C/C++笔试、面试题目大汇总
- ·Beej的网络socket编程指南
- ·socket编程原理
- ·C语言的常用库函数使用方法分析及用途
- ·在C语言中如何处理时间和日期
- ·C++设计模式之Singleton
- ·VC++动态链接库编程之MFC扩展 DLL
- ·TCP/IP网络重复型服务器通信软件的设计
- ·DirectX游戏开发入门
- ·经典与现代的结合:在MFC中集成RAD .NET框架
- ·Windows API-GDI入门基础知识详解(2)
- ·Visual C++ 入门精解
- ·C#基础概念二十五问
- ·用C#实现pdf文件的完整性验证
- ·成为嵌入式程序员应知道的0x10个问题
- ·TCP/IP编程实现远程文件传输
- ·几个C#编程的小技巧
- ·C# 编码规范和编程好习惯
