问题标签 [textout]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
864 浏览

c++ - 可以在 GDI 中使用 DrawText 或 TextOut 文本渲染

我正在尝试在屏幕上呈现一些文本。我正在使用 GDI、C++ 并尝试使用 DrawText 和 TextOut 函数来呈现我的文本。我的文字只在程序启动时出现,然后文字立即消失。我可以将它与 GDI 一起使用吗?如果可以,那么如何使用?

...

GDI 渲染代码

使用本课中的代码。

0 投票
1 回答
108 浏览

winapi - 带有键盘消息的文本输出 winapi

大家好,我正在尝试运行上面的代码,并在我的窗口上一次打印一个字母。但是,我似乎无法使用 TextOut 功能让字符出现在窗口上,但能够在终端窗口中显示字符。我是 WinApi 的新手,我迷路了!

提前致谢!

0 投票
1 回答
689 浏览

c++ - 重新调整大小时如何使文本出现在窗口的中心,Visual C++

所以我有这个代码:

调整窗口大小时如何使文本显示在中心?

0 投票
1 回答
206 浏览

right-to-left - Windows:使用 TextOut 输出从右到左的字符

当涉及到显示具有从右到左文本方向的字符时,我想寻求有关 win32 本机 TextOutW 功能的帮助。基本上,我希望 TextOutW 按原样显示带有字符的文本,而不对文本应用任何转换、整形等。

我所拥有的基本上是一个简单的代码 [1],如下所示:

我之所以使用它是因为我想将两个字符从左到右绘制在一起,首先是 0x5D3 (ד),然后是 0x5E9 (ש)。我得到的是相反的-首先绘制0x5E9,然后绘制0x5D3:

דש

当然,我可以想到许多解决方法来覆盖它,最简单的就是在文本前面添加 0x202D [2] 字符。但这似乎很老套,而且通常是错误的,并且对于例如会自动加入字母的阿拉伯语文本(并且需要更丑陋的解决方法)也无济于事。

有关于此 Windows 行为的任何信息吗?我怎么能在程序中关闭它?这与Uniscribe有关吗?(我从未使用过它,也不打算使用它)。

谢谢!

[1](完整代码在这里http://karasik.eu.org/misc/rtl.c)。

[2] U+202D (LRO) LEFT-TO-RIGHT OVERRIDE:强制以下字符被视为强从左到右字符。

0 投票
2 回答
269 浏览

c++ - 更改 TextOut、C++ 中设置位置的单位

我目前正在使用 C++ 开发一个打印插件,并开始TextOut打印我想要的文本。它工作得很好,但显然,TextOut用作参数的位置以像素为单位。有没有办法将它们设置为厘米或毫米?或任何其他?

0 投票
1 回答
190 浏览

visual-c++ - 如何使用 TextOut 正确显示韩文文本?

我正在使用 UNICODE 指令进行编译,因此所有 CString 都使用 Unicode。如果我将“봉재”放入 CString,选择带有“Arial”的字体,然后使用 TextOut 或 TextOutW 显示此文本,会显示两个框。

如果我在文本中添加拉丁字符,例如“봉재 ABC”,那么显示会变成两个框,后跟“ABC”。

但是,如果我将某些其他 CJKV 字符添加到文本中,例如“봉재 /元”,则显示会显示我的 CString 的文本。

我猜 TextOut 会检查文本,如果找到某些字符,它会替换字体以获得最佳显示效果。如果我的理论是正确的,那么通过在字符串中添加某些东方字符,我可以强制 TextOut 替换为 Unicode 字体,但如果我添加其他东方字符,TextOut 不会替换正确的字体,显示不足。

如何让 TextOut 始终替换正确的字体,或者以其他方式一致地显示文本?

0 投票
3 回答
1818 浏览

delphi - 如何垂直或水平对齐定向文本?

我正在编写一个在画布上绘制文本的函数。该功能支持垂直和水平对齐,以及文本方向。我的问题是当文本定向时无法计算正确的对齐方式。这是标题:

Halign可以是左、右或中心,Valign可以是顶部、底部或中心。

一切都适用于简单的非定向文本:

我已经做了很多尝试来确定什么去哪里,并且我已经设法根据其对齐参数定位垂直文本,但是水平文本放错了位置。

我知道它与方向、宽度和高度有关,但我无法正确地弄清楚如何处理它。

调用水平规则过程的示例:

调用 Vertical 规则的过程(令人讨厌的那个): drawText( bmp.canvas, Point( x - CDocumentRuleTextMargin, y ), inttostr( y ), 'arial', 8, clBlack, 900, haCenter, vaBottom);

这是结果:

示例 1

我试图通过修改计算过程中 y 位置的符号来摆脱这种情况,如下所示:

垂直规则的结果更好,而水平规则的结果最差:

示例 2

0 投票
1 回答
441 浏览

c - 如何在 Visual C 中将光标位置转换为文本位置?

假设我将一行可变宽度字体的文本写入带有 TextOut 的窗口,并允许用户单击任何字母。那我怎么知道他点击了文字的哪一部分呢?换句话说,我如何将他点击的光标坐标转换为字符串偏移量?

我想这可以通过在各种字符串截断上调用 GetTextExtentPoint32 来完成,直到我找到正确的,但肯定有一种更有效的方法。微软的记事本程序确切地知道当我向右箭头越过一条线时要移动多少像素 - 但是如何?

0 投票
1 回答
494 浏览

sql-server - 遍历 SQL 中的行以输出到文本文件

我有一个包含数百行数据的 SQL 表。此表中的一列包含以纯文本形式存储在该列中的文本报告。

本质上,我需要遍历 SQL 中的每一行数据,并将每一行的报告列的内容输出到其自己的单独文本文件中,并使用从另一列中提取的唯一名称。

我正在尝试通过 PowerShell 完成此操作,但我似乎被挂断了。以下是我到目前为止所拥有的。

0 投票
1 回答
636 浏览

c# - 使用 C# Console.WriteLine 在多列中显示 textOut

我正在创建一个程序,将华氏温度转换为摄氏温度,反之亦然。该代码有效,但如何让我在 C# textOut中使用多列显示?Console.WriteLine

这是我的代码(不包括Program.csor Input.cs