GetTextExtentPoint32 函数的使用

windows客户端开发--如何测量一个字符串显示的物理长度 首先需要说明的是,我所说的字符串的长度,不是string的length,也不是string的size。我指的是显示的长度,即物理长度。缘由: 之所以要提到这个,是因为遇到了一些问题。 再使用duilib进行开发时,发现label控件不能自适应宽度。思考: 这显示是这个库的一个不足,但是我们可以试图去修改一下这个库。但是本着开源的精神,或许这个库的设计初衷就是label不能自适应字符串的宽度呢? 阅读详情
函数功能:该函数计算指定的正文字符串的高度和宽度。
函数原型:BOOL GetTextExtentPoint32(HDC hdc, LPCTSTR lpString, int cbString, LPSIZE lpSize);
参数:
hdc:设备环境句柄。
lpString:指向正文字符串的 指针。此字符串不必以\0结束,因为cbString指定了字符串的长度。
cbString:指向字符串中的字符数。
lpSize:指向SIZE结构的 指针,该结构中字符串的尺寸将被返回。
返回值:如果 函数调用成功,返回值是非零值,如果函数调用失败,返回值是0。
Windows NT:若想获得更多的 错误信息,请调用GetLastError函数。
备注:GetTextExtentPoint32用当前所选字体来计算字符串尺寸,按逻辑单位计算的高和宽都没有考虑裁剪取的情况。
由于有的设备紧缩 字符,因此一个字符串里字符的范围之和或许不等于字符串的范围。
计算的字符宽度考虑了由SetTextCharacterextra设备的字符间隔。
Windows CE环境下GetTextExtentPoint32与GetTextExtentPoint相同。
速查:Windows NT:3.1及以上版本;Windows:95及以上版本;Windows CE:2.0及以上版本;头文件:wingdi.h;库文件:gdi32.lib;Unicode:在Windows NT环境下实现为Unicode和ANSI两种版本。
不用FFmpeg!纯前端实现RTSP直播的3种现代方案对比(WebSocket/Wasm/WebCodecs) 本文深入探讨了纯前端实现RTSP直播的三种现代技术方案:WebSocket代理转发、Wasm解码和WebCodecs硬解。通过详细的架构设计、性能实测数据和兼容性分析,帮助开发者在安防监控、智慧城市等场景中选择最佳方案,实现低延迟、高效率的视频流处理。 阅读详情

相关推荐

头歌操作系统 课堂练习4.2:页式内存管理 答案 无解析

头歌操作系统 课堂练习4.2:页式内存管理 答案 无解析

kercii的博客 1万+

GetTextExtent、GetTextExtentPoint32 精确无误差的使用注意【vc++ / MFC】

网上有大量的有关“获取字符串的显示宽度”的文章,基本都是用 GetTextExtent 或 GetTextExtentPoint32,但大多数都没说字体的影响,直接结果是误差很大,包括MSDN上的示例: MSDN这段示例原代码: // Pointer to the myListBox. extern CListBox* pmyListBox; // Find the longest string in the list box. CString str; CSize sz; int dx=0

maoyeahcom的博客 4766

【系统分析师】第2章-基础知识:数学与工程基础(核心总结)

数学与工程基础

数据知道的博客 6811

GetTextExtentExPoint运用与实例。

现在做ce的东西,只有自己慢慢学,慢慢试,刚绝很多资料都是很模糊很笼统,新学很困难,所以把我新学的跟大家分享一下,每天一点,成功就在眼前! 函数原型:BOOL GetTextExtentPoint(HDC hdc, LPCTSTR lpszStr, int cchString, int nMaxExten, LPINT lpnFit, LPINT alpDx, LPSIZE lpSize)

qishengjiu的专栏 4784

PY32F406K1CU6+I2C+ AT24C64 基本配置

【代码】PY32F406K1CU6+I2C+ AT24C64 基本配置。

sam的博客 90

SAP SD模块定价过程后台配置简介

只有手工输入定价时(例如,在定价中的定价浏览屏幕中),或者只有从外部处理转移这些定价时(例如,成本核算),才将这些定价包括在确定(价格确定、输出确定,批次确定)之中。定价过程的定义和分配是SD模块中最核心的配置,包含了条件表、条件类型、存取顺序、发票类型、客户定价过程等,确定了销售订单已什么价格销售、税率、附加折扣等多个条件行程有一个定价过程。12、小计:记录该条件类型在VBAP表中是否存储,以及其后续用途,如记入信贷,占用信贷额度,记入成本等,如果需要金额暂用信贷额度的话,在小计这里选择A即可。

我小时候很黑的博客 3780

GetTextExtentPoint32

GetTextExtentPoint32  函数功能:该函数计算指定的正文字符串的高度和宽度。  函数原型:BOOL GetTextExtentPoint32(HDC hdc, LPCTSTR lpString, int cbString, LPSIZE lpSize);  参数:  hdc:设备环境句柄。  lpString:指向正文字符串的指针。此字符串不必以/0结束,因为cbString

lekonpeng的专栏 2609

ARM6818嵌入式视频播放器:硬解加速与Framebuffer渲染实战

嵌入式Linux音视频系统是智能座舱、工业HMI等场景的核心能力,其本质是软硬协同的实时多媒体处理系统。原理上需打通内核驱动(如VPU硬件编解码、FIMD多图层合成)、用户空间框架(GStreamer pipeline定制、SDL2硬件渲染)与应用层同步机制(PTS/HTS双时钟校准)。技术价值在于显著降低CPU负载(硬解可压至15%以下)、提升启动速度(<1.2s首帧)并保障音画同步精度(±3ms级)。典型应用场景包括车载信息娱乐、边缘AI终端及无X11的工控显示设备。本文基于ARM6818平台,深入VP

weixin_32456485的博客 77

详细介绍 GetTextExtent()

书籍:《Visual C++ 2017从入门到精通》的4.2环境:visual studio 2022内容:[例 4.4]实现一个三角按钮说明:以上内容大部分来自腾讯元宝。

felicity_one的博客 1072

Apollo Control——超详细入门教程(六):MPC二次规划问题转化

专栏文章列表 Apollo Control——超详细入门教程(一):基于道路误差的车辆动力学模型 Apollo Control——超详细入门教程(二):连续状态空间方程离散化与离散LQR公式推导 Apollo Control——超详细入门教程(三):基于Frenet坐标系及XY坐标系的多项式轨迹生成 Apollo Control——超详细入门教程(四):控制模块轨迹误差计算 Apollo Control——超详细入门教程(五):油门刹车标定表之双线性插值算法 ...

凉了鸭的博客 2233

QGIS安装与使用教程

QGIS安装与使用教程

weixin_46713695的博客 2万+

GetTextExtentPoint32() 判断一个字串的大小(范围)

GetTextExtentPoint32  (2006-07-18 11:16:29) 转载▼   分类: 学习日志 【别名】 GetTextExtentPoint32A 【说明】 判断一个字串的大小(范围)。在Win32环境中,最好使用GetTextExtentPoint32,它提供了更精确的计算结果 【返回值】 Lon

Oh~Why not! 5150

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

GetTextExtentPoint32--获取字符串在屏幕上长度

GetTextExtentPoint32 函数功能:计算指定的正文字符串的宽度和高度 函数原型:BOOL GetTextExtentPoint32(HDC hdc,LPCTSTR lpString,int cbString,LPSIZE lpSize); 参数: hdc: 设备环境句柄 lpString:指向正文字符串的指针,此字符...

addkpfk1986的博客 465

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

GetTextExtentPoint32获得字符串的长度和高度

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_33872660的博客 463

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

gettextextentpoint32

      函数功能:该函数计算指定的正文字符串的高度和宽度。    函数原型:BOOL GetTextExtentPoint32(HDC hdc, LPCTSTR lpString, int cbString, LPSIZE lpSize);    参数:    hdc:设备环境句柄。    lpString:指向正文字符串的指针。此字符串不必以/0结束,因为cbString指定了字符串的长度。

545

取得字符串的宽高坐标【GetTextExtentPoint32】

SIZE m_sizeReset; TCHAR *szReset = _T("测试按钮"); HDC dc = GetDC(); ::GetTextExtentPoint32(dc,szReset,strlen(szReset),&m_sizeReset); ReleaseDC(dc);

objectively的专栏 3381

在测试第一个动态链接库的时候遇到的GetTextExtentPoint()

在vs2008测试第一个动态链接库的项目,很久以前就对动态链接库感兴趣,因为他可以让可执行程序变的小一点,减轻程序的负担。 .h的代码 #ifdef __cplusplus #define EXPORT extern "C" __declspec (dllexport) #else #define EXPORT __declspec(dllexport) #endif EXPOR...

weixin_30680385的博客 100

XE4 There is no overloaded version GetTextExtentPoint32A

[dcc32 Error] dxGrDate.pas(1402): E2250 There is no overloaded version of 'GetTextExtentPoint32' that can be called with these arguments GetTextExtentPoint32A(Handle, PWideChar(ACaption), Length(

ksrsoft的专栏 2342

为何我用GetTextExtentPoint32这个API总是得不到正确的文本长度?

原文转载自:http://bbs.youkuaiyun.com/topics/80515448 呵呵,偶问题解决了,不能独享,贴出来,楼主看一下,有一个步骤是必须的,就是取得主窗口的FONT,然后设置DC的FONT,然后再计算,这样才正确,参考下面的代码 CSize s; CFont *font = this->GetFont(); CFont *def_font = NULL;

山水人间。 3144

获得字符宽度和高度

总结一下: 1.GetTextMetrics函数   tm.tmHeight, tm.tmAveCharWidth 2.GetTextExtentPoint32函数   SIZE结构 3.DrawText函数   利用DT_CALCRECT选项获得矩形大小

风雨无阻 http://blog.youkuaiyun.com/ShineOrRain 1217

VC中获取单个字体尺寸和字符串尺寸

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_34082695的博客 545

为ListBox控件添加水平滚动条

<br />Win32的标准控件之中,列表控件(ListBox)并没有和列表视图(ListView)一样提供水平滚动条,所以如果列表项的长度超过列表的宽度的话,那么超出的部分将无法显示。在本文中我将以一个简单的例子来说明如何使用SDK来解决这一问题,在这个例子中,我将为一个列表控件添加100行如下格式的文本:<br />case WM_INITDIALOG:<br />{<br /> int i;<br /> TCHAR str[100];<br /> for(i = 0; i < 100; i++)<br

baixiaohei09的专栏 2852

Duilib中获取一段文字大小

记得以前在VC上开发的时候,遇到过怎么去求一段文字的高度,那时候的做法是先把文件写到内存上,然后获取内存的高度,今天查看Duilib的渲染引擎的时候,看到了另外以一种方法,故此记录下来。以便以后翻阅,后面有时间同样把以前的那种方法也贴上上来,以作比较。 SIZE CRenderEngine::GetTextSize( HDC hDC, CPaintManagerUI* pManager , LP

u012335387的专栏 2041

Delphi 图形处理 技巧

1。得到输出字符串在 屏幕上的象素数。BOOL GetTextExtentPoint32(    HDC hdc, // handle of device context     LPCTSTR lpString, // address of text string    int cbString, // number of characters in string    LPSIZE lpS

雨寒 1505

把界面上静态文本控件的尺寸根据文本的内容自动调整大小(转)

函数功能:该函数计算指定的正文字符串的高度和宽度。 函数原型:BOOL GetTextExtentPoint32(HDC hdc, LPCTSTR lpString, int cbString, LPSIZE lpSize); 参 数:hdc:设备环境句柄。 lpString:指向正文字符串的指针。此字符串不必以\0结束,...

weixin_30861797的博客 361

转:把界面上静态文本控件的尺寸根据文本的内容自动调整大小

函数功能:该函数计算指定的正文字符串的高度和宽度。    函数原型:BOOL GetTextExtentPoint32(HDC hdc, LPCTSTR lpString, int cbString, LPSIZE lpSize);    参数:hdc:设备环境句柄。    lpString:指向正文字符串的指针。此字符串不必以/0结束,因为cbString指定了字符串的长度。    cbStri

luixing67的专栏 793
上一篇: Bitmap位图文件读取、保存、屏幕截图
下一篇: DirectShow 录制视频时,如何在视频上画线和输出文字
CreatedSign
博客等级 码龄14年 10粉丝 33原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值