为了账号安全,请及时绑定邮箱和手机立即绑定

win32con.DT_* 有哪些选项?python for windows 绘制文本

win32con.DT_* 有哪些选项?python for windows 绘制文本

holdtom 2021-11-16 16:12:29
我只是在 Windows 的 python 中找不到绘制文本函数的不同选项。我希望我正在绘制的文本位于屏幕的左下角而不是顶部中心。如果左下角不是一个选项,底部中心可能吗?        win32gui.DrawText(hdc, windowText, -1, rect,        win32con.DT_CENTER | win32con.DT_VCENTER    )有没有一个选项,比如win32con.DT_LEFT | win32con.DT_BOTTOM?我在 Microsoft 或 python 文档上找不到有关此代码片段的任何在线信息。
查看完整描述

1 回答

?
繁花如伊

TA贡献2012条经验 获得超12个赞

您可以在 Microsoft 站点上查看有关相应 WinAPI 函数的大量文档:


DrawText:


范围 ...


DT_BOTTOM


将文本对齐到矩形的底部。此值仅与DT_SINGLELINE值一起使用。


如上所述,DT_BOTTOM仅在DT_SINGLELINE指定时才有效。因此你需要:


win32con.DT_LEFT | win32con.DT_BOTTOM | win32con.DT_SINGLELINE

请注意,这不足以绘制与矩形底部对齐的多条线。在这种情况下,使用DT_CALCRECTflag 来计算要绘制的文本的高度。然后根据计算出的矩形的高度偏移矩形。例子:

textformat = win32con.DT_LEFT | win32con.DT_BOTTOM

calrect = win32gui.DrawText(hdc, text, -1, rect, textformat | win32con.DT_CALCRECT);


rect.top = rect.bottom - calcrect.bottom;

win32gui.DrawText(hDC, text, -1, rect, textformat)


查看完整回答
反对 回复 2021-11-16
  • 1 回答
  • 0 关注
  • 237 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信