2

MyEllipeを拡張するクラスがありますCStatic

OnPaintオーバーライドする独自のカスタムメソッド本体があります。

そして、ダイアログでこのオブジェクトを移動して左から右に移動するメソッドがあります。

for(int i = 0; i <= 600; i++) {
   myEllipseObject->SetWindowPos(NULL, i, 300, 0, 0, SWP_NOSIZE | SWP_NOZORDER);
   Sleep(1);
}

つまり、基本的には1ミリ秒の遅延で1つずつ移動します。動作しますか?はい。それが正しいか?疑わしい :)。それで、これを行うための正しくて有効な方法は何ですか?ユーザーがボタンをクリックしたときに左から右に移動したい楕円と長方形が1つあります。

どんなアイデアでも大歓迎です。

4

1 に答える 1

3

通常、これはタイマーを使用して行います。たとえば、タイマーを設定し、タイマーが作動したときに位置を更新することができます。メッセージに応答するかWM_TIMER、タイマーが起動したときに呼び出す関数を指定することができます。

于 2012-12-30T21:27:23.573 に答える