• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:ボタンの配置を変更したい)

ボタンの配置を変更したい

このQ&Aのポイント
  • VC++でプログラミングしています。MFC AppWizard(exe)でダイアログベースでボタンの位置を設定ファイルから読み込んで表示したいです。
  • 案1では予めボタンを作成しておき、EXE起動時に移動させる方法を検討していますが、関数の有無を調査中です。
  • 案2ではCButtonクラスのメンバを使用してボタンを表示しようとしていますが、正しく動作しません。サンプルコードやアドバイスを求めています。

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

  • ベストアンサー
  • osaosa42
  • ベストアンサー率60% (20/33)
回答No.1

ボタンは、CWndが基本クラスなのでCWndの関数を使うことができます。 ということで、SetWindowPosを使って位置を移動させることができます。 使い方は、ヘルプを見てください。 それでは、がんばってください。

nabezo-
質問者

補足

アドバイスありがとうございます。 一点、ヘルプを見てもどうしても理解できないことがあります。 SetWindowPos関数はOnInitDialog関数の中でダイアログのサイズを 変更するために以下のように使っています。 SetWindowPos(NULL, 0, 0, 600, 400, SWP_NOZORDER | SWP_SHOWWINDOW); 今回、このダイアログに貼り付けられているボタンのサイズを 変更したいのですが、「このボタンの」という指定がSetWindowPos関数の どのパラメータで指定するのかがわかりませんでした。 ご迷惑おかけしますが、再度、アドバイス頂けないでしょうか。 よろしくお願いします。

その他の回答 (1)

  • osaosa42
  • ベストアンサー率60% (20/33)
回答No.2

1.クラスウイザードで、ボタンのメンバ変数(型は、CButton)を追加(メンバ名をm_Btn)します。 2.これで、m_Btn.SetWindowPosという風に使えます。

nabezo-
質問者

お礼

ありがとうございます。 大変参考になりました。 VCを始めたばかりでクラスについて勉強不足でした。

関連するQ&A