WinAPI DrawText新行

时间:2015-12-09 14:27:00

标签: windows winapi drawtext

如何从新行中显示每个字符串?

int i = 1;
char *s = *environ;
    for (; s; i++) {
        DrawText(hdc, s, -1, &rect,
            DT_WORDBREAK | DT_EDITCONTROL | DT_BOTTOM);
            s = *(environ + i);
         }

2 个答案:

答案 0 :(得分:3)

使用DrawText函数返回的值(绘制文本的高度)来偏移下一行文本的矩形。

int i = 1;
char *s = *environ;
for (; s; i++) {
    int height = DrawText(hdc, s, -1, &rect,
        DT_WORDBREAK | DT_EDITCONTROL | DT_BOTTOM);
    OffsetRect(&rect, 0, height);
    s = *(environ + i);
}

答案 1 :(得分:1)

您需要在每个字符串的末尾添加换行符'\n'

更正:我认为所有字符串都会立刻被绘制出来......