ローリング サブタイトルのように、複数行の CEdit コントロールをゆっくりと下にスクロールしたい。
これまでのところ、OnTimer() イベントで CEdit::LineScroll() を使用しています。思ったほど滑らかではありませんが、フルラインロールができます。LineScroll() を ScrollWindow() に置き換えて、テキストをピクセル単位でスクロールできるようにしますが、ScrollWindow() 関数は、コントロールにスクロールする必要がある新しいテキスト行を描画しません。
誰でもこれを達成する方法について何か考えがありますか?
問題を明確に説明しなかった場合。これらの gif を追加します。
そして、これが ScrollWindow() が行うことです (以下のテキストは切り取られています):
ScrollWindow() のコードは次のとおりです。
CRect clientRect;
m_editAns.GetClientRect(&clientRect);
m_editAns.ScrollWindow(0, -10, NULL, &clientRect);
m_editAns.UpdateWindow();
ValidateRect(&clientRect);
*PS: プロジェクトは他の場所で CEdit コントロールを使用しているため、継承は許容されますが、別のコントロールに置き換えることはできません。