【问题标题】:what are the options for win32con.DT_*? python for windows draw textwin32con.DT_* 有哪些选项?用于windows的python绘制文本
【发布时间】:2019-02-22 13:40:41
【问题描述】:

我只是找不到用于 windows 的 python 中绘制文本功能的不同选项。 我希望我正在绘制的文本位于屏幕的左下角而不是顶部中心。 如果左下角不是一个选项,底部中心可能吗?

        win32gui.DrawText(hdc, windowText, -1, rect,
        win32con.DT_CENTER | win32con.DT_VCENTER
    )

有没有类似

的选项
win32con.DT_LEFT | win32con.DT_BOTTOM

?

我在 Microsoft 或 python 文档上找不到此 sn-p 代码的任何相关信息。

【问题讨论】:

    标签: python winapi pywin32 win32gui drawtext


    【解决方案1】:

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

    DrawText:

    参数...

    DT_BOTTOM

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

    如上所述,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)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-09-05
      • 1970-01-01
      • 2018-10-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-12-21
      • 1970-01-01
      相关资源
      最近更新 更多