Builder C++ 6 を使用して Windows 用に作成された私のソフトウェアでは、ユーザーが編集してデータベースに保存された情報を含む .pdf 記事を作成する必要があります。この情報の一部は、設計された rect 内に描画する必要があるため、55max の文字列が rect 内の 1 行に収まるかどうかを確認する必要があります。そうでない場合は、改行 (\n) をどこに置くべきかを計算する必要があります。
通常、テキストはわずか 55 文字の rect 内に収まりますが、まれなテキスト ("WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW..." など) は、同じ量の文字を持ちながら、全体を台無しにしてしまうことがあります。つまり、文字列内の文字数を使用して改行するタイミングを決定することはできませんが、テキストの長さ (またはその他の測定単位) を使用して、文字列が大きくなるかどうかを確認できます。 rect コンテナーであるかどうかを示す .pdf。
GetCharABCWidths()、GetTextExtentPoint32() などの関数を試しましたが、成功しませんでした (いわゆる「論理ユニット」は、同じ文字列/文字に対して関数を使用するたびに異なり、それらの使用方法がわかりませんでした) 、または char の長さが明らかに異なっていても同じでした (「1」と「W」など)。
では、どうすればこれを行うことができますか?