• ベストアンサー

ダイアログボックスの移動

VC++ であるダイアログボックスを画面外から画面内にスライドしてフェードインする機能を実装したいのですが、そういった機能を実装する場合、随時座標を変更しなければならないのでしょうか? ダイアログボックスをスライドさせるようなライブラリがあれば教えてください。 また、それが無理な場合ダイアログボックスの座標の変更方法を教えていただけるとありがたいです。 すいませんが、よろしくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

ダイアログ(ウインドウ)を移動させるのであれば「SetWindowPos」関数で出来ます。 関数の説明(API) SetWindowPos(HWND hWnd, HWND hWndInsertAfter, int X, int Y, int cx, int cy, UINT uFlags); HWND hWnd 対象ウインドウのハンドル; HWND hWndInsertAfter 対象ウインドウのZ順位の指定; int X 対象ウインドウの左上隅の新しい x 座標 int Y 対象ウインドウの左上隅の新しい y 座標 int cx 対象ウインドウの新しい幅 int cy 対象ウインドウの新しい高さ UINT uFlags 対象ウインドウのサイズおよび位置の変更に関するフラグ 単に移動させるだけなら以下のようにすればいいと思います。 SetWindowPos(hWnd, NULL, X, Y, 0, 0, SWP_NOZORDER | SWP_NOSIZE); これを一定時間ごとに、X,Yに新しい座標を指定し呼び出せばいいと思います。

noname#11716
質問者

お礼

返事遅れました。 無事にスライド処理を実装することができました。 ありがとうございました。

その他の回答 (1)

  • keyguy
  • ベストアンサー率28% (135/469)
回答No.1

MoveWindowを使えばいいのでは?

関連するQ&A

専門家に質問してみよう