0

必要に応じて複数行のテキストを再描画する必要があるウィンドウがあります。テキストは可変長である可能性があります。では、これを行うにはどうすればよいでしょうか。

これは私が今持っているもので、うまくいきません。

               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 );
4

2 に答える 2