ダイアログベースでのコントロールの相対位置の変更

[戻る]
VC初心者 2004/11/04(木) 13:08:21
WinXP,VC++.net,MFCにて作業をしています。
最大化表示するアプリケーションを作成したいのですが、
ボタンコントロール等の配置を最大化に伴って、
相対的に変更できるようにしたいと思っています。
いろいろ調べてみたのですが、Windowsアプリケーションの場合だと、
Anchorプロパティで設定できるのですが、
MFCですと、MoveWindowやDeferWindowPosを使えばいいということは
わかったのですが、どこに記述をすればよいのかがわかりません。
初歩的なことですみませんが、よろしくお願いします。

επιστημη [E-Mail] [HomePage] 2004/11/04(木) 13:18:05
メッセージ: WM_SIZE に反応すればいいんじゃないかしら。

PATIO 2004/11/04(木) 14:12:39
一応確認しときたいのですが、

Windowsアプリケーションの場合だと、Anchorプロパティで設定できるのですが

と言うのは、VBの話をしているんでしょうか?
VCでプログラミングしてもWindowsアプリケーションには違いないと思うんですが。

επιστημη [E-Mail] [HomePage] 2004/11/04(木) 14:28:41
.NET Framework を使ったときの話でしょうおそらく。

VC初心者 2004/11/04(木) 15:47:58
詳しく書いてなくて、すみません。

Windowsアプリケーションの場合だと、Anchorプロパティで設定できるのですが

というのは.NET Frameworkを使用した場合の話です。

WM_SIZEに反応させるということはOnInitDialog()中での
    ShowWindow(SW_MAXIMIZE);
    // TODO: 初期化をここに追加します。
の部分で設定すればいいのでしょうか。

επιστημη [E-Mail] [HomePage] 2004/11/04(木) 15:59:21
違います。

WM_SIZEメッセージのハンドラを定義すれば、
ウィンドウの大きさが変化するたびにそこに飛び込んできます。
その中でコントロールの位置や大きさを調整します。

VC初心者 2004/11/04(木) 18:04:58
[[解決]]
すみません、今までC++Builderでしか作成したことがなく、
位置設定も簡単にできていたものですから、
かなり、見当違いのことを書いてました。
WM_SIZEメッセージのハンドラを定義してやってみます。
VCについてもっと、勉強しておきます。
ありがとうございました。

古いスレッドには追加発言できません。