Windows API——TextOut()函数学习

三、C语言创建桌面程序:文字的输出 TextOut 和 DrawText 一、BeginPaint 和 EndPaint 函数 当发生 WM_PAINT事件时,应用程序开始绘图。绘图之前需要先调用 BeginPaint 函数通知 Windows,告诉它当前程序需要使用显示器,你安排一下吧。BeginPaint 函数执行完毕就返回设备环境句柄,接下来就可以使用 GDI函数绘图了。 绘图结束后,也需要调用 EndPaint 函数通知Windows,告诉它绘图结束了,你可以... 阅读详情

1.函数功能

The TextOut function writes a character string at the specified location, using the currently selected font, background color, and text color.

TextOut函数使用当前选定的字体、背景颜色和文本颜色在指定位置写入字符串。

2.函数原型

BOOL TextOutA( HDC hdc, int x, int y, LPCSTR lpString, int c );(普通字符)

BOOL TextOutW( HDC hdc, int x, int y, LPCWSTR lpString, int c );(宽字符)

参数:

hdc:当前DC句柄。

x:指定用于字符串对齐的基准点的逻辑x坐标

y:指定用于字符串对齐的基准点的逻辑y坐标

lpString:A pointer to the string to be drawn. The string does not need to be zero-terminated(不必以\0结尾), because cchString specifies the length of the string.

c:指定字符串的长度。

返回值:

If the function succeeds, the return value is nonzero.

If the function fails, the return value is zero.

3.备注

The interpretation of the reference point(基准点) depends on the current text-alignment mode(文本对齐模式). An application can retrieve this mode by calling the GetTextAlign function; an application can alter this mode by calling the SetTextAlign function. 

可以使用以下值进行文本对齐。 (只能从影响水平和垂直对齐的标志中选择一个标志。只能选择改变当前位置的两个标志中的一个。)

参数值描述
TA_BASELINE参考点将位于文本的基线上。
TA_BOTTOM参考点将位于边界矩形的底部边缘。
TA_TOP参考点将位于边界矩形的顶部边缘。
TA_CENTER参考点将与边界矩形的中心水平位置对齐。
TA_LEFT参考点将位于边界矩形的左边缘。
TA_RIGHT参考点将位于边界矩形的右边缘。
TA_NOUPDATECP每次文本输出调用后,当前位置不会更新。 参考点传递给文本输出函数。
TA_RTLREADINGWindows的中东语言版本:文本按从右到左的阅读顺序排列,而不是默认的从左到右的顺序。 仅当选择到设备上下文的字体是希伯来语或阿拉伯语时才适用。
TA_UPDATECP每次文本输出调用后更新当前位置。 当前位置用作参考点。

4.VS2010字符集的选择

#ifdef UNICODE
#define TextOut  TextOutW
#else
#define TextOut  TextOutA
#endif // !UNICODE

35.文本输出函数TabbedTextOut、ExtTextOut、TextOut、SetBkColor TextOut和TabbedTextOut的区别 TabbedTextOut 功能为该函数将一个字符串写到指定的位置,并按制表位位置数组里的值展开制表符。正文以当前选择的字体、背景色和字体写入。 TabbedTextOut函数定义 WINUSERAPI LONG WINAPI TabbedTextOutW( __in HDC hdc, //绘图设备上下文 __in int x, /... 阅读详情

相关推荐

[Win32]重绘的基本概念以及简单的文本输出文本输出

1. 客户区的完整概念: 即

Lirx_Tech的专栏 3767

向窗口输出文字--TextOut和DrawText函数

在《一个完整的Windows程序框架》一节中,我们使用 DrawText() 向客户区的中间位置输出了一段文本,但并没有详细解释,这节我们来重点说一下文字的输出。 设备环境(DC) 在Windows中,一切能在显示器上看到的都是图形,不但包括点、线、矩形、圆等,也包括文字、字体。对用户来说文字和图片是不同的,但它们在本质上都是图形,都需要在显示器上画出来。这也是Windows被称作图形

芝麻软件工作室的专栏 3万+

深入解析:el-table合并单元格

  在企业级应用开发中,我们经常需要处理复杂的数据展示需求。在构建复杂的数据展示后台时,我们常常需要将表格中具有相同属性的行进行视觉上的合并,以提升信息的聚合度和可读性。在 Element Plus 的 el-table 组件中,span-method 属性是实现单元格合并的核心机制,允许开发者自定义单元格的合并逻辑,开发者可以通过实现自定义合并策略来满足各种负责需求。  合并行的本质是通过计算相邻行数据的相似性,确定满足合并的单元格范围,然后通过 DOM 操作将多个单元格合并为一个。这种操作在前端数据可视

独泪了无痕 228

8.向窗口输出文字 : TextOut 和 DrawText 函数

使用 DrawText() 向客户区的中间位置输出了一段文本,说一下文字的输出。 设备环境(DC) 在Windows中,一切能在显示器上看到的都是图形,不但包括点、线、矩形、圆等,也包括文字、字体。对用户来说文字和图片是不同的,但它们在本质上都是图形,都需要在显示器上画出来。这也是Windows被称作图形操作系统的原因。 Windows不允许我们直接访问硬件,如键盘、显示器、打印机等,在与这些硬件...

y果子 6887

Ruoyi-Cloud-Plus新手必看:Gateway启动失败的两种解决方案(Nacos配置空间问题)

本文详细解析了Ruoyi-Cloud-Plus框架中Gateway启动失败的常见原因及解决方案,重点围绕Nacos配置空间问题展开。针对新手开发者,提供了两种实用方案:快速切换到public空间或规范创建dev空间并迁移配置,帮助开发者高效解决网关启动故障,确保微服务项目顺利运行。

weixin_30872499的博客 490

Crossformer实战:从零开始搭建多变量时间序列预测模型(附ETTh1数据集调参指南)

本文提供了从零开始搭建Crossformer多变量时间序列预测模型的实战指南,并附有详细的ETTh1数据集调参攻略。文章深入解析了Crossformer的核心设计,重点探讨了seg_len和win_size等关键参数对模型性能的影响,并分享了环境配置、训练调试及常见问题的解决方案,帮助开发者高效应用这一前沿深度学习模型。

weixin_29281915的博客 316

Windows API一日一练(22)TextOut函数

文本输出,从来就是比较常用的方式,自从发明文字以来,就应缺少不了文字的显示了。在以前,是书写到白纸上,让别人看懂它。现在到了信息的时代,当然是显示在屏幕上,即使你是不懂书法的,也可以显示出惊人的书法文字出来。在窗口里显示文字出来,就可以使用TextOut函数,当然不只这一个API函数可以显示字符了。TextOut函数是使用当前设备的属性来显示文字的,比如设备属性有字体类型,字体的颜色,字...

anjichan4261的博客 890

AI人工智能全模态大模型架构:推动智能交通发展的架构设计

本文旨在阐述全模态大模型在智能交通领域的架构设计原理和应用方法。我们将探讨如何利用多模态AI技术解决交通流量预测、事故预警、路线优化等关键问题。文章将从基础概念入手,逐步深入技术细节,最后探讨实际应用和未来发展方向。全模态大模型:能够处理和理解多种数据模态(如图像、文本、语音等)的大型AI模型智能交通系统(ITS):利用先进技术优化交通流量和安全性的综合系统多模态融合:将不同数据源的信息整合处理的技术核心概念回顾全模态大模型是能够处理多种数据类型的强大AI系统。

AGI×大数据,开启智能时代的认知跃迁;解码AGI,赋能数据驱动的智能革命。 834

Windows API一日一练 22 TextOut函数

Windows API一日一练 22 TextOut函数

uytrrfg的博客 588

Camera mipi通信协议

MIPI(移动行业处理器接口),是的缩写。MIPI移动行业处理器接口)是MIPI联盟发起的为移动应用处理器制定的开放标准。分别定义了一系列的手机内部接口标准,比如摄像头接口CSI、显示接口DSI,其中是由MIPI联盟下Camera工作组指定的接口标准。CSI-2是MIPI CSI第二版,主要由应用层、协议层、物理层组成,最大支持4通道数据传输、单线传输速度高达1Gb/s。

arvin_xiong的博客 3730

2017–2024年中国10米/20米分辨率水稻种植分布数据集

摘要:本数据集提供2017-2024年中国23个省级行政区的水稻种植分布数据,包含单季稻和双季稻分类(GeoTIFF格式,WGS84坐标系)。5个省份分辨率为20米,其余为10米,基于Sentinel卫星数据和TWDTW方法生成。数据公开共享(7.99GB),使用需注明来源并引用相关文献(DOI:10.12199/nesdc.ecodb.rs.2025.012)。涉及学科包括遥感、生态学和地理学,研究成果需发送至国家生态科学数据中心备案。

国科大硕士在读,分享Python/GEE/Matlab/R专业代码实践,涵盖数据分析、算法开发与应用技巧等,以代码会友。 1381

游戏——TextOut函数

用当前选择的字符、背景颜色和正文颜色将一个字符串写道指定位置 原型: BOOL TextOut( HDC hdc, //需要进行的文本输出的DC的句柄 int nXStart, //开始书写的位置的X坐标 int nYStart, //开始书写的位置的Y坐标 LPCTSTR lpString, //指向字符串的指针,文本默认黑色,背景为白色 int cbString //字符串的字符数 ); 调用实例: wchar_t text1[]=L"要有最朴素的生活

maxkd的博客 1891

各向同性、VTI、TTI以及双相介质波场数值模拟

各位读者,大家好!在今天的文章中,我将介绍关于波场数值模拟中的各向同性、VTI(垂直横向等参数介质)、TTI(倾斜横向等参数介质)以及双相介质的基本概念。同时,我也会提供一些基础的Fortran代码片段,供大家了解和学习。

qq_38334677的博客 1707

文本输出API函数:TextOut,ExtTextOut,DrawText,DrawTextEx,PolyTextOut,TabbedTextOut

前阵子由于做一个软件需要用Detour库HOOK其它程序的文本输出,以实现对第三方程序文字的监控。         对这六个文本输出API函数:TextOut,ExtTextOut,DrawText,DrawTextEx,PolyTextOut,TabbedTextOut,作了一番学习。         以前只是使用,HOOK以后才发现它们有很大的不同。 // TextOut(分为TextO

Reviter的专栏 8187

js逆向第3例:蝉妈妈大屏实时数据formDataSign加密

蝉妈妈大屏抖音直播实时数据是抓取抖音直播间数据的实时数据,有类似需求的公司但没有能力去搞定抖音,抓取蝉妈妈数据也是一个不错的选择。接下来就是调试找到加密点,说句题外话蝉妈妈的所有js文件打包方式用的都是webpack5,那如何区分打包方式可以阅读这篇文章。时间戳 ,经过观察发现加密参数是实时变化的。这个函数扣下来,在浏览器控制台中测试一下。言归正传,打断点找到变量。继续打断点向上找又发现了。查看请求参数,可以看到。请求的内容,那么这个。

花臂不花Home 1539

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

MFC—使用DrawText和TextOut编辑文字

MFC使用DrawText和TextOut编辑文字 一、DrawText函数 1、函数定义,这里引用一篇博客 https://blog.youkuaiyun.com/by_mxy/article/details/9932967 2、引用一个函数实现的demo void CMFCTestDlg::OnPaint() { CRect rect; GetClientRect(&rect)...

仰望星空的博客 6634

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

MFC 和Windows API的TextOut输出文字

void CTest1Dlg::OnButton1() {  // TODO: Add your control notification handler code here  /*  //MFC输出  CDC* pDC = this->GetDC();  char buffer[] = "千万里,千万里我追寻着你!";  pDC->TextOut(100,100, buf

蚂蚁搬家 1万+

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

TextOut显示多行文本的方法

发信人: enjoysoft(Enjoy — 享受生活), 信区: VC标  题: Re: 请教SetDlgItemText与TextOut的用法区别发信站: 饮水思源 (2006年10月12日21:55:43 星期四)这个做法比较妥当,因为一旦窗口被重画,你用CClientDC画的字符串就不见了。响应WM_PAINT才是正道!TextOut不支持换行的,反而可以把Tab、Enter之类的字符直接

ponydph的专栏 6630
上一篇: Windows API——SetBkMode()函数学习
下一篇: 《MFC程序开发参考大全》学习笔记_3
LemonnnLee
博客等级 码龄9年 8粉丝 14原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值