win32con.DT_* 有哪些选项? python for windows 绘制文本
what are the options for win32con.DT_*? python for windows draw text
我只是在 windows 的 python 中找不到绘制文本功能的不同选项。
我希望我正在绘制的文本位于屏幕的左下角而不是顶部中心。
如果左下角不是一个选项,是否可以选择底部居中?
win32gui.DrawText(hdc, windowText, -1, rect,
win32con.DT_CENTER | win32con.DT_VCENTER
)
有没有
这样的选项
win32con.DT_LEFT | win32con.DT_BOTTOM
?
我无法在 Microsoft 或 python 文档中找到与此代码片段相关的任何在线信息。
您可以在 Microsoft 站点上查看相应 WinAPI 函数的大量文档:
parameter ...
DT_BOTTOM
Justifies the text to the bottom of the rectangle. This value is used
only with the DT_SINGLELINE
value.
如上所述,DT_BOTTOM
仅在指定 DT_SINGLELINE
时有效。因此你需要:
win32con.DT_LEFT | win32con.DT_BOTTOM | win32con.DT_SINGLELINE
请注意,这不足以绘制与矩形底部对齐的多条线。在这种情况下,使用 DT_CALCRECT
标志来计算要绘制的文本的高度。然后根据计算出的矩形的高度偏移矩形。示例:
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)
我只是在 windows 的 python 中找不到绘制文本功能的不同选项。 我希望我正在绘制的文本位于屏幕的左下角而不是顶部中心。 如果左下角不是一个选项,是否可以选择底部居中?
win32gui.DrawText(hdc, windowText, -1, rect,
win32con.DT_CENTER | win32con.DT_VCENTER
)
有没有
这样的选项win32con.DT_LEFT | win32con.DT_BOTTOM
?
我无法在 Microsoft 或 python 文档中找到与此代码片段相关的任何在线信息。
您可以在 Microsoft 站点上查看相应 WinAPI 函数的大量文档:
parameter ...
DT_BOTTOM
Justifies the text to the bottom of the rectangle. This value is used only with the
DT_SINGLELINE
value.
如上所述,DT_BOTTOM
仅在指定 DT_SINGLELINE
时有效。因此你需要:
win32con.DT_LEFT | win32con.DT_BOTTOM | win32con.DT_SINGLELINE
请注意,这不足以绘制与矩形底部对齐的多条线。在这种情况下,使用
DT_CALCRECT
标志来计算要绘制的文本的高度。然后根据计算出的矩形的高度偏移矩形。示例:
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)