CEdit::LineScrollについて – プログラミング – Home

通知
すべてクリア

[解決済] CEdit::LineScrollについて


TERU
 TERU
(@TERU)
ゲスト
結合: 19年前
投稿: 28
Topic starter  

CEditのLineScrollを使用したいのですが、
簡単なテストプログラムを書いてみました。

CEidtのスタイルにWS_CHILD | WS_VISIBLE | WS_VSCROLL | ES_MULTILINE | ES_READONLY
を指定し、複数行のテキストを表示させて二つのボタンを貼り付けました。

動作を確認すると下には正しくスクロールされるのですが
どうしても上には正しくスクロールされません。

LineScrollは上にはスクロールできないものなのでしょうか?
それとも何か設定か使い方が間違えているのでしょうか?
理由がわからないので教えてください。

// 1行下にさげる
void Ctest2Dlg::OnBnClickedDownButton()
{
CEdit* edit = (CEdit*)GetDlgItem(IDC_EDIT1);
edit->LineScroll(edit->GetFirstVisibleLine() + 1);
}

// 1行上にあげる
void Ctest2Dlg::OnBnClickedUpButton()
{
CEdit* edit = (CEdit*)GetDlgItem(IDC_EDIT1);
edit->LineScroll(edit->GetFirstVisibleLine() - 1);
}


引用未解決
トピックタグ
TERU
 TERU
(@TERU)
ゲスト
結合: 19年前
投稿: 28
Topic starter  

同じ経験がある方いませんか??


返信引用
と
 と
(@と)
ゲスト
結合: 20年前
投稿: 33
 

void LineScroll(
int nLines,
int nChars = 0
);
パラメータ
nLines
垂直方向にスクロールする行数を指定します。

なので、edit->GetFirstVisibleLine()はいらないのでは?

// 1行上にあげる
void Ctest2Dlg::OnBnClickedUpButton()
{
CEdit* edit = (CEdit*)GetDlgItem(IDC_EDIT1);
edit->LineScroll(-1);
}

#下にも正しくはスクロールされないと思います。(下のほうに行くほどスクロール行が大きくな
る)


返信引用
TERU
 TERU
(@TERU)
ゲスト
結合: 19年前
投稿: 28
Topic starter  

ありがとうございます!
勘違いしてました。
移動する行を指定するものだと思いこんでいました。
表示数が少なかったせいでうまく移動してるように見えたようです。

正常に動作いたしました。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました