首先我使用的是 windows api。
所以我有一个编辑控件,它最多需要能够容纳 22 个字符。 目前只有 12 种适合我想使用的字体。
有没有什么方法可以很好地调整用户正在输入的字体大小,以便在不创建一堆字体的情况下容纳更多文本?
最佳答案
嗯,你可以。为 EN_CHANGE 实现消息处理程序,以便您知道文本已更改。使用带有 DT_CALCRECT 和 DT_EDITCONTROL 标志的 GetWindowDC 和 DrawTextEx 来测量文本的大小。如果控件不适合并重复,则发送 WM_SETFONT 以更改控件的字体。
然而,用户对最终结果感到满意的可能性很小。
关于C++ Windows字体大小问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7539154/