掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
CEditのスクロールバーの制御について。 (ID:55546)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
ログの追加をシミュレートするため、OnTimer になっていますが、 以下の要領でどうでしょう。 (呼び出しは SetTimer(1,1000,NULL);) m_csText は CString を IDC_TEXT (EditControl) に割り付けたもの。 m_cedText は CEdit を同じく IDC_TEXT に割り付けたものです。 なお、縦スクロールのみの対応ですが。 GetSel() なので、選択領域もクリアされません。 void CCednoscDlg::OnTimer(UINT nIDEvent) { if( nIDEvent == 1 ) { int s,e,l,k = m_cedText.GetFirstVisibleLine(); // 先頭行保存 m_cedText.GetSel( s,e ); // カーソル位置保存 UpdateData(TRUE); CTime ct = time(NULL); m_csText += ct.Format( "%y/%m/%d %H:%M:%S\r\n" ); // ログの追加 UpdateData(FALSE); l = m_cedText.GetFirstVisibleLine(); // アップデート後の先頭行 m_cedText.LineScroll( k-l,0 ); // 先頭行がずれた分だけスクロール m_cedText.SetSel( s,e ); // カーソル位置を復元 } CDialog::OnTimer(nIDEvent); }
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.