重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

【6/2終了】教えて!gooアプリ版

ダイアログではなく、直接Windowにボタンを貼り付けるために、AppWizaerdを使用して、MyAppというプロジェクトをつくり、MyAppクラスのヘッダに

CButton mybutton

を定義し、cppファイルのInitInstance関数内のm_pMainWnd->UpdateWindow();の下に、以下のように記述したところ、

mybutton.Create(_T("OK"), WS_CHILD|WS_VISIBLE|BS_PUSHBUTTON, CRect(10,10,100,100), m_pMainWnd, 1);

ボタンは表示されるのですが、押しても凹んでくれません。どうしてなのでしょうか??

環境はWinXP VisualStudio.Net2003です。

A 回答 (1件)

凹んでくれないのはm_pMainWnd(おそらくCMainFrame))を親ウィンドウにしているからです。



CMainFrameにON_WM_LBUTTONDOWNのメッセージハンドラを追加してみれば分かるのですが、MainFrameにはマウスのクリック時のメッセージが飛んできません。だからボタンにもクリックされた、という情報がいかないため、押された状態にならないのだと思います。

プロジェクト内のViewクラスを親ウィンドウにしてボタンを作成してみてください。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。

Viewクラスに記述したところ出来ました!!!
ずっと悩んでいたので、本当に助かりました!
どうもありがとうございました。

お礼日時:2006/09/21 17:40

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!