はじめまして
VC6のMFCで久しぶりにプログラムしています。
editBoxを複数行に設定しています。
行数が5行あるとします。
editBox の CString型の変数を sEd とします。
ネットワーク通信で受信した文字列をsEd に代入表示し、 0x0d,0x0a をつけて改行しま
す。
次の受信文字列を sEd += mojiretsu;
sEd += \r\n;で追加していきます。
表示が5行を越えた時に、最新の受信文字列が最下行に表示されるにはどうすれば良い
でしょうか?
いつも、古いデータが表示されてしまい、スクロールしないと、最新行が表示されませ
ん。
わかりにくい説明ですみませんが、どなたかご教授ください。
CEdit::LineScrollが使えませんか?
CEdit::GetLineCountとCEdit::LineScrollを組み合わせて最終行になるようにスクロー
ルさせてください。
一応関連スレッド:SDK(SendMessageを使う方法)
http://hpcgi1.nifty.com/MADIA/Vcbbs/wwwlng.cgi?print+200608/06080025.txt
YuO様、Blue様 アドバイスありがとうございます。
下記のようにやってみましたが、最新データは表示されませんでした。
int iLine = m_wR.GetLineCount();
m_wR.LineScroll(iLine);
もう少しいろいろとやってみようと思います。
お気づきの点がありましたら、お願い致します。
わたくしもやったことがなく興味ありましたので
YuOさん や Blueさん のアドバイスをもとに
GetLineCountとCEdit::LineScrollを使って実験したらうまくいきました
プログラムをよくチェックされたらいかがでしょうか
aharen様 フォローありがとうございます。
Buleさんの教えてくださった関連ページを読みました。
なぜそうなるのか疑問ですが、SetSel,ReplaceSelを使うとうまくいきました。(*^^*)
置き換えということなのでしょうけれど、違いがわかりません。
女の子だと、プログラムだめかな とあきらめかけていましたけど
これからもがんばりますので、またヒントください。
ありがとうございました。<(__)>
> なぜそうなるのか疑問ですが、SetSel,ReplaceSelを使うとうまくいきました。(*^^*)
> 置き換えということなのでしょうけれど、違いがわかりません。
この辺、おもいっきり掘り下げてください。
どういう理屈でうまく行く/いかないのかが少なくとも自分で納得できないと
今後の為になりませんから。
私は基本的に性別は関係ないと思っています。
私が知っている範囲だけでも女性でバリバリやっている人は沢山います。
性別云々よりもどこまで掘り下げていけるかだと思います。
プログラミングの世界は理論の世界です。
どういう現象が起こるにもきちんと理論があります。
そしてその理論を理解する事がプログラミング能力を上げる事になると思います。