C++ Windows字体大小问题
首先我使用 Windows api。
所以我有一个编辑控件,最多需要能够容纳 22 个字符。 目前只有 12 种适合我想要使用的字体。
有没有什么方法可以很好地调整用户正在输入的字体大小,以便在不创建一堆字体的情况下容纳更多文本?
First i'm using the windows api.
So I have an edit control, that needs to be able to fit 22 characters max.
Currently only 12 fit with the font I'd like to use.
Is there any way to resize the font well the user is typing to allow for more text to fit without creating a bunch of fonts?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
嗯,你可以。为 EN_CHANGE 实现一个消息处理程序,以便您知道文本已更改。使用 GetWindowDC 和 DrawTextEx 以及 DT_CALCRECT 和 DT_EDITCONTROL 标志来测量文本的大小。如果控件的字体不合适,则发送 WM_SETFONT 来更改控件的字体并重复。
然而,用户对最终结果感到满意的可能性很小。
Well, you could. Implement a message handler for EN_CHANGE so you know the text was changed. Use GetWindowDC and DrawTextEx with the DT_CALCRECT and DT_EDITCONTROL flags to measure the size of the text. Send WM_SETFONT to change the font for the control if it doesn't fit and repeat.
The user being pleased with the end result is however very unlikely.