我有一个需要按需重绘多行文本的窗口,文本可以是可变长度的。那么如何去做呢?
这是我现在拥有的,它不起作用。
RECT rc;
GetWindowRect ( hwnd, &rc );
int rectHeight = DrawText( hMemDc, text.c_str(), text.size(), &rc, DT_CALCRECT ); // Get formating rectangle height
int windowHight = rc.bottom - rc.top;
int windowWidth = rc.right - rc.left;
int yTop = rc.top + ( ( windowHight - rectHeight ) / 2 );
int yBottom = yTop + rectHeight;
int xLeft = rc.left + 20;
int xRight = rc.right - 20;
rc.top = yTop;
rc.bottom = yBottom;
rc.left = xLeft;
rc.right = xRight;
DrawText( hMemDc, text.c_str(), text.size(), &rc, DT_LEFT | DT_WORDBREAK );