エディットボックスのサイズを動的に変更するには?

[戻る]
savage 2006/03/09(木) 17:35:32
はじめまして。

エディットボックスについて教えてください。
現在、ダイアログにエディットを貼り付けています。実行後、このエディットに
処理メッセージが表示されるようになっています。

ここで、メッセージの長さがすんごく長い場合と短い場合があって
固定のエディットの大きさだとスクロールだけでは使い勝手がとても悪いのです。

表示するテキストの文字数によって動的にエディットのサイズを変更する方法を
どなたか教えてくださいませんか?
エディットだけでなく、ダイアログも連動してサイズを動的に変えたいです。

環境は、Windows2000 VC++6.0
よろしくお願いします。

KING・王 2006/03/09(木) 17:58:43
> 表示するテキストの文字数によって動的にエディットのサイズを変更する方法を
> どなたか教えてくださいませんか?
MoveWindowを用いて動的にサイズを変更でできませんか?
もちろん、サイズは自分で動的に計算してあげる必要がありますが。
(再描画の指示等も必要かも?)

> ダイアログも連動してサイズを動的に変えたいです。
ダイアログも関しても、MoveWindowが使えませんか?

savage 2006/03/09(木) 18:10:25
KING・王さん、ありがとうございます。

わたしの質問の仕方が悪かったようです。

> MoveWindowを用いて動的にサイズを変更でできませんか?
> もちろん、サイズは自分で動的に計算してあげる必要がありますが。
この動的に計算する方法がわかりません。
文字長を取得して、文字サイズとエディットのサイズを
どのように計算すればよろしいのでしょうか????

例えば文字列の中に改行があった場合と無かった場合では
エディットのサイズが変わってくると思うのですが・・・。

dairygoods 2006/03/09(木) 22:15:38
DrawText で DT_CALCRECT フラグを使うと、
文字列を描画するサイズを計算できます。

それに、余白や枠のサイズを加味して、サイズを計算します。

savage 2006/03/10(金) 10:19:13
dairygoodsさん、ありがとうございます。

ふむふむ、なるほど。
早速試してみます。

savage 2006/03/13(月) 16:30:22
[[解決]]
レス、遅くなりました。
解決しました。ありがとうございました。

古いスレッドには追加発言できません。