Подробную документацию по соответствующим функциям WinAPI можно найти на сайте Microsoft:
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)