win32con.DT的选项是什么?python for windows绘制文本
在python for windows中,我找不到用于绘制文本函数的不同选项。 我希望我正在绘制的文本位于屏幕的左下角,而不是顶部中间。 如果左下角不是一个选项,则是否可以使用底部中心win32con.DT的选项是什么?python for windows绘制文本,python,winapi,pywin32,win32gui,drawtext,Python,Winapi,Pywin32,Win32gui,Drawtext,在python for windows中,我找不到用于绘制文本函数的不同选项。 我希望我正在绘制的文本位于屏幕的左下角,而不是顶部中间。 如果左下角不是一个选项,则是否可以使用底部中心 win32gui.DrawText(hdc, windowText, -1, rect, win32con.DT_CENTER | win32con.DT_VCENTER ) 有这样的选择吗 win32con.DT_LEFT | win32con.DT_BOTTOM ?
win32gui.DrawText(hdc, windowText, -1, rect,
win32con.DT_CENTER | win32con.DT_VCENTER
)
有这样的选择吗
win32con.DT_LEFT | win32con.DT_BOTTOM
?
在Microsoft或python文档中,我无法在线找到有关此代码片段的任何相关信息。您可以在Microsoft站点上查看有关相应WinAPI函数的详细文档: : 参数
dtu底部
将文本对齐到矩形的底部。使用此值
仅使用DT_单线
值
如上所述,dtu-BOTTOM
仅在指定了dtu-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)