• ベストアンサー

ダイアログ、ボタンについて

VC++でプログラミングしています。 MFC AppWizard(exe) でダイアログベースで造っています。 以下の方法を教えてください。 ・EXE起動時、ダイアログのサイズを変更したい。 起動時に画面サイズをチェックして、画面いっぱいの大きさにしたいため。 ・EXE起動後、ボタンに表示している文字列を変更したい。 識者の方、ご教授願います。

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

  • ベストアンサー
  • mnabe
  • ベストアンサー率33% (427/1283)
回答No.1

 ヒントだけ... 1. OnInitDialogで、以下の様にして出来ます RECT lpRect; int x,y; // x = サイズ y = サイズ SetWindowPos(NULL,x,y,0,0,SWP_NOSIZE | SWP_NOZORDER );  サイズに任意の大きさを入れればOK 2.  ボタンを、ClassWizardを使用して、メンバ変数を作成して下さい。そのメンバ変数に対して、CButtonに対して、SetWindowTextメソッドを実行して下さい。

nabezo-
質問者

お礼

ありがとうございました。 大変参考になりました。

関連するQ&A

  • EXEへの引数渡しについて

    VC++でプログラミングしています。 MFCを使ってダイアログベースのEXEを造っています。 このEXEは別のプロセスから CreateProcess関数で起動され、 引数も渡されます。 で、質問です。 ダイアログのEXEでは、渡された引数を解析するために、何処で、 どのようにしたらよいのでしょうか? C言語での (argc, argv) のような仕組みがあるのでしょうか? 識者の方、ご教授願います。

  • ラジオボタンのメンバ変数

    VC++6.0でMFC AppWizard(exe)というプロジェクト、ダイアログベースでプログラミングしています。 ダイアログにラジオボタンを三つ配置し、Radio1を右クリック→プロパティ→グループにチェックを入れました。 そして、IDC_RADIO1にメンバ変数m_Radio(int)を追加してコンパイルすると「問題が発生したため終了します」というダイアログが出ます・・。 メンバ変数を削除するとコンパイルは成功します。 何が間違いでこんなエラーが出るのでしょうか? どうかよろしくお願いします。

  • ボタンの表示の色、フォントを変更したい

    VC++でプログラミングしています。 MFCのダイアログベースのEXEを造っています。 ダイアログにはボタンとエディットボックスを貼り付けています。 私がやりたいのは以下のことです。 ・ボタンの色を設定したい ・ボタン、エディットボックスに表示する文字の色を設定したい ・ボタン、エディットボックスに表示する文字のフォント(サイズ)を設定したい プロパティでサイズ変更すると全体に反映されてしまうので、個々の コントロールについて制御したいと思っています。 ヘルプで調べて、それらしい関数を見つけるのですが使い方がわかりません。 VCを始めたばかりで、クラスの理解がまだ浅いです。。。 関数の説明は理解できても、「じゃあ、コードはどう書くの?」という状態です。 「○○ は ×× のメンバではありません」と、よく怒られてます。。。 識者の方、ご教授願います。 コードがどうなるのか知りたいので、簡単なサンプルコードがあると助かります。 また、質問ではないのですが、「この関数は○○をする」というのではなく、 「○○をするにはこの関数を使う」という様に調べられる、お勧めの書籍、 Webなどがありましたら教えてください。 今後の勉強に役立てたいと思っています。

  • スレッドの作成と起動

    <プログラム環境> Windows XP VC++6.0 MFC AppWizard(exe) ダイアログベース <質問> ボタンを押すとOnButton()に入ります。 OnButton()内でワーカースレッドを起動させたいのですが、 どのようにコーディングするのでしょうか? スレッドの作成方法も分かりません・・。 宜しければご指摘お願い致します。

  • ダイアログベースのEXEでESCキーを押しても終了しないようにする方法

    VC++ 6.0 でダイアログベースのEXEを造っています。 ESCキーを押すとEXEは終了しますが、ESCキーを無視して 終了しないようにするにはどうしたらよいでしょうか? 識者の方、ご教授願います。

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

    VC++でプログラミングしています。 MFC AppWizard(exe) でダイアログベースで造っています。 やりたいことは以下です。 ・設定ファイルに表示位置(座標)が書いてあり、ダイアログの初期化時に 設定ファイルを読んで、指定された位置にボタンを表示する。 私の案としては以下のものがあります。 <案1> 予めボタンを貼り付けて造り、EXE起動時に移動させる。 ただし、移動させる関数があるかは不明。 調べましたが、今のところ見つかっていません。 <案2> CButtonクラスのメンバを使用して、ボタンを表示する。 試しに以下のようなコードでやってみましたが、上手くいきませんでした。 使い方がわからず、試行錯誤しながらやってます。 CButton testButton; void CTestGamenDlg::OnButton1() { RECT Rect; Rect.left = 100; Rect.top = 100; Rect.right = 200; Rect.bottom = 200; testButton.Create("test", BS_PUSHBUTTON, Rect, this, 100); } 案1、2についての指摘、アドバイス、その他の案などありましたら 宜しくお願いします。 また、簡単なサンプルコードがあると助かります。

  • BOOLの初期値は?

    <プログラム環境> Windows XP VC++6.0 MFC AppWizard(exe) ダイアログベース <質問> BOOL bl; と宣言した後、必ず bl = FALSE; と初期値を入れているのですが、元々FALSEかTRUEのどちらか、 決まった初期値が入っているのでしょうか?

  • Viewウインドウに直接ボタンを貼り付けるには

    VC++6.0 APPWizard(exe) SDI で作成したViewウインドウにボタンを貼り付けたいのですが、どうすればよいか教えてください。 普通にダイアログにボタンを貼り付ける場合のように簡単ではないのですか?

  • wsprintfで浮動小数を扱うには?

    <プログラム環境> Windows XP VC++6.0 MFC AppWizard(exe) ダイアログベース <質問> wsprintf(a,"%f",b); MessageBox(a); で実行すると"f"が出力されました。 浮動小数を出力するにはどうしたら良いのでしょうか? よろしくお願いします。

  • ボタンが押された事を検知するには?

    <プログラム環境> Windows XP VC++6.0 MFC AppWizard(exe) ダイアログベース <目的> 1.ダイアログにボタン1を配置する 2.処理A(無限ループ)を開始する 3.処理Aの先頭でボタン1が押されたか判断する 4.ボタン1が押された場合処理Aを終了し、処理Bを行う というプログラムを作成する。 <質問> 目的のプログラムを作成するには、ボタン1が押された事を検知する 必要があると思うのですが、その方法が分かりません。 ボタンが押された事を検知するにはどうしたら良いのでしょうか? 宜しければご指摘お願い致します。