- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:ボタンの配置を変更したい)
ボタンの配置を変更したい
このQ&Aのポイント
- VC++でプログラミングしています。MFC AppWizard(exe)でダイアログベースでボタンの位置を設定ファイルから読み込んで表示したいです。
- 案1では予めボタンを作成しておき、EXE起動時に移動させる方法を検討していますが、関数の有無を調査中です。
- 案2ではCButtonクラスのメンバを使用してボタンを表示しようとしていますが、正しく動作しません。サンプルコードやアドバイスを求めています。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
ボタンは、CWndが基本クラスなのでCWndの関数を使うことができます。 ということで、SetWindowPosを使って位置を移動させることができます。 使い方は、ヘルプを見てください。 それでは、がんばってください。
その他の回答 (1)
- osaosa42
- ベストアンサー率60% (20/33)
回答No.2
1.クラスウイザードで、ボタンのメンバ変数(型は、CButton)を追加(メンバ名をm_Btn)します。 2.これで、m_Btn.SetWindowPosという風に使えます。
質問者
お礼
ありがとうございます。 大変参考になりました。 VCを始めたばかりでクラスについて勉強不足でした。
補足
アドバイスありがとうございます。 一点、ヘルプを見てもどうしても理解できないことがあります。 SetWindowPos関数はOnInitDialog関数の中でダイアログのサイズを 変更するために以下のように使っています。 SetWindowPos(NULL, 0, 0, 600, 400, SWP_NOZORDER | SWP_SHOWWINDOW); 今回、このダイアログに貼り付けられているボタンのサイズを 変更したいのですが、「このボタンの」という指定がSetWindowPos関数の どのパラメータで指定するのかがわかりませんでした。 ご迷惑おかけしますが、再度、アドバイス頂けないでしょうか。 よろしくお願いします。