Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Edit Controlのスクロール

215 views
Skip to first unread message

紅輝

unread,
Sep 24, 2006, 9:51:01 PM9/24/06
to
Edit Controlに文字を順次追加しています。MultiLineに設定しています。
また、Vertical ScrollもTrueで付けています。
文字の追加方法が分からないので、
CString ss;
m_edit1.GetWindowText(ss);ですでに表示している文を読み取り
m_edit1.SetWindowText(ss + "追加する文字”)でedit Controlに再度文字群を表示させています。
文字は、順次追加されますので、250行程度は表示させたいのですが、Edit Controlの表示範囲を超えると表示されません。このときVertical
Scrollを操作させると最後まで表示されますが、毎回文字が追加される度に、スクロールをさせているのでは、面倒でたまりません。
SetWindowTextでは無くて、単に文字の追加分だけを今までの文に足して表示できれば、良いのでしょうが、その方法が分かりません。
たとえば、この質問文はすでに表示桁数枠を超えていますので、上の文字は順次上にスクロールされています。このようにしたいのですが。。
なお、追加の文字はキーボード入力からではなくて、プログラムで処理した結果を表示させています。
以上、よろしくお願い申します。

Takeshi SHIGIHARA

unread,
Sep 26, 2006, 9:59:14 AM9/26/06
to
EDITコントロールの末尾に文字列を追加するには
SetSel関数とReplaceSel関数を利用します。

SetSel関数によりキャレットの開始と終了を末尾に
移動させ、次にReplaceSelにより文字列をキャレット
に囲まれた空の文字列を「置き換え」れば良いはず
です。

たとえば CEdit text とするとき
text.SetSel(text.GetWindowTextLength(), text.GetWindowTextLength());
text.ReplaceSel("ADD TEXT", FALSE);

----- Takeshi SHIGIHARA
cyg...@tka.att.ne.jp
cyg...@po.jah.ne.jp -----
ブタも投げれば空を飛ぶ--RFC1925.

紅輝

unread,
Sep 27, 2006, 11:16:02 PM9/27/06
to
Perfectにスクロールが出来るようになりました。
これで、また1歩前進しました。 おかげさまで、製作中のプログラムがかなり完成に近づきました。有難うございました。

"Takeshi SHIGIHARA" からの元のメッセージ:

0 new messages