“正确” Windows 上的对话框/UI 字体
当使用 CreateWindow 即时创建控件(例如编辑控件)时,它通常以丑陋的(粗体无衬线)字体开始。
通常我通过抓取父对话框的字体并将其设置为控件来解决这个问题 - 我什至不能说这是否是一个好主意。
如何“合法”获取正确的字体?
When creating a control (e.g. an edit control) on the fly using CreateWindow, it usually starts out with an ugly (boldish sans serif) font.
Usually I wok around that by grabbing the parent dialog's font, and setting it to the control - I can't even say if this is a good idea.
How do I "legally" fetch the right font?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
获取消息框等对话框中使用的字体的“正确”方法是通过 SystemParametersInfo() 函数:
不要忘记在销毁控件时销毁字体:
您可以查找
NONCLIENTMETRICS
和SystemParametersInfo()
查看您可以检索哪些其他系统范围的参数。
The "correct" way to get the font used in dialog boxes like message boxes, etc. would be via the
SystemParametersInfo()
function:Don't forget to destroy the font when the controls are destroyed:
You can look up the MSDN documentation for
NONCLIENTMETRICS
andSystemParametersInfo()
to see what other system-wide parameters you can retrieve.