1

rect内にテキストを描画する必要があります。ただし、テキストが長い場合は、余分なテキストが切り取られます。最初の行に収まらないテキストの余分な部分が次の行に移動するように、テキストを折り返す必要があります。

私はそれをグーグルで検索しました。DrawText()の代わりにDT_CALCRECTフラグでDrawTextEx()を使用するという提案がありました。しかし、それでも機能していません。このフラグを使用すると、テキストが表示されません。

DRAWTEXTPARAMS lpDTParams;
lpDTParams.cbSize        = sizeof(lpDTParams);
lpDTParams.iLeftMargin   = 1;
lpDTParams.iRightMargin  = 1;
lpDTParams.iTabLength    = 4;
lpDTParams.uiLengthDrawn = 0;

pDC->DrawTextExA(sTemp, rc, DT_NOCLIP|DT_CENTER|DT_WORDBREAK|DT_CALCRECT, &lpDTParams);

任意の提案をいただければ幸いです。ありがとう

4

1 に答える 1

1

長方形を計算する必要はありません。

次のフラグを使用します。DT_LEFT| DT_EDITCONTROL | DT_WORDBREAK。

アドバイスの1つ:

UNICODEまたはANSI固有の関数名は使用しないでください。

プロジェクトの設定に応じて、コンパイラは適切なバージョンを選択します。このようにして、アプリケーションは移植可能になります。

于 2012-06-28T18:25:12.703 に答える