MFC

CWnd::GetCheckedRadioButton

MFC

CWnd::GetCheckedRadioButtonは、どのラジオボタンがチェックされているかを返すメンバ関数・・・。CWnd::GetCheckedRadioButtonチェックボックスの場合は、CButtonクラスのインスタンスとして取得し、メンバ関数のGetCheckで確認した・・・。 ラジオボタン…

CButton::GetCheck

MFC

CButton::GetCheckは、チェックボックスがチェックされているかどうかを返すメンバ関数・・・。CButton::GetCheckチェックボックスもCButtonクラスで操作する・・・。これを選択して、上のほうに配置・・・。デフォルトでAutoプロパティがTrueになっているか…

CEdit

MFC

CEditは、エディットコントロールを扱うクラス・・・。CEdit クラスエディットコントロールに入力された文字列をメッセージボックスで表示してみる・・・。MFCでCEditプロジェクトを作成したら、このように、エディットコントロールとボタンを配置する・・・…

CStatic

MFC

CStaticは、スタティックテキストやピクチャーコントロールなどのスタティックコントロールを扱うクラス・・・。CStatic クラス今回は、スタティックテキストの文字列変更と、ピクチャーコントロールのビットマップ表示をしてみる・・・。MFCアプリケーショ…

CBitmap

MFC

CBitmapは、ビットマップを扱うクラス・・・。CBitmap クラスこれを使って、ビットマップの読み込みや描画などができる・・・。今回は、巨大なボタンが押されたら、巨大なビットマップをボタンに表示させる・・・。MFCアプリケーションでこれまでと同様にCBi…

CButton::SetIcon

MFC

CButton::SetIconは、ボタンにアイコンをセットするメンバ関数・・・。CButton::SetIconボタンが押されたら、アイコンが変わるようにしてみる・・・。今回はボタンは1つだけ・・・。ここで右下のプロパティでIconの項目をTrueにする・・・。 そうすると、ボ…

CWinApp::LoadIcon

MFC

CWinApp::LoadIconは、アイコンをロードするメンバ関数・・・。CWinApp::LoadIconこれまでWindowsAPIのLoadIconを使ってきたが、こちらはインスタンスハンドル不要で、リソース名またはリソースIDだけでいい・・・。CWinAppクラスメンバなので、CWinApp_プロ…

CWnd::SetIcon

MFC

CWnd::SetIconは、ウィンドウにアイコンをセットするメンバ関数・・・。CWnd::SetIconCDialogは当然CWndの派生クラスなので、これでダイアログにアイコンをセットする・・・。CWnd_プロジェクトを作成・・・。これまでと違うのはシステムメニューにチェック…

AfxGetApp

MFC

AfxGetAppは、現在のアプリケーションのCWinAppオブジェクトポインタを返すMFCグローバル関数・・・。AfxGetAppCWinApp派生のオブジェクトのInitInstance内でのthisの値と、CDialog派生のオブジェクト内のAfxGetApp()が返す値が同じかを確認してみる・・・。…

CButton

MFC

CButtonは、ボタンコントロールのクラス・・・。CButton クラス今回は、ボタンを2つ配置して、CButtonクラスのオブジェクトポインタを使って、ボタンを操作する・・・。ここからは、MFCアプリケーションウィザードを使ってプロジェクトを作る・・・。[Visual…

CDialog::DoModal

MFC

CDialog::DoModalは、モーダルダイアログを表示するメンバ関数・・・。CDialog::DoModal今回は、ダイアログ上でクリックしたら、DoModalの戻り値としてIDOKを返し、閉じるボタンが押したら、IDCANCELを返す・・・。 また、その辺の処理を実装するに当たって…

CDialog

MFC

CDialogはダイアログを扱うクラス・・・。CDialog クラスこれを使って、ダイアログを表示する・・・。メニュー項目Item1-1がクリックされた時、CDialogで作ったダイアログを表示してみる・・・。resource.hに、とリソースID"IDD_DIALOG"の番号を割り振り、CD…

CMenu::AppendMenu

MFC

CMenu::AppendMenuは、メニューにメニュー項目を追加するメンバ関数・・・。CMenu::AppendMenu前回は、ポップアップメニューハンドルhPopupMenu1にWindowsAPIのAppendMenuを使って、メニュー項目を追加していたが、今回はCMenuのAppendMenuを使う・・・。CFr…

CMenu

MFC

CMenuはメニューを扱うクラス・・・。CMenu クラス前回、CFrameWndのGetMenuを使って、CMenuオブジェクトのポインタを取得し、m_hMenuにメニューハンドルが格納されていることがわかった・・・。今回は、メニューm_hMenuの1つ目のポップアップメニューにメニ…

CWnd::GetMenu

MFC

CWnd::GetMenuは、ウィンドウにセットされているメニューを取得するメンバ関数・・・。CWnd::GetMenuウィンドウにセットされているメニュー項目を途中で増やしたり、削除したりなど、メニューに動的変更を加える場合などには、GetMenuでCMenuオブジェクトの…

ON_COMMAND

MFC

OnCommandで、メニュー項目が選択された時、ボタンが押された時などの処理を書くことができた・・・。 しかし、LOWORD(wParam)でリソースIDごとに割り振ったり、コードが長くなったりして、不便である・・・。ON_COMMANDマクロを使うと、リソースIDごとにハ…

CWnd::OnCommand

MFC

CWnd::OnCommandは、メニューが選択された時、ボタンが押されたりなどの子コントロールが操作された時、アクセラレータキーが実行された時の処理を記述するためのメンバ関数・・・。 つまり、WM_COMMANDが発生したときのメッセージハンドラ・・・。CWnd::OnC…

ON_UPDATE_COMMAND_UI

MFC

CFrameWnd::LoadFrameで、リソースからフレームをロードして、フレームウィンドウを作成できた・・・。 しかし、 ウィンドウのタイトルが表示されない メニューが有効になっていない という2つの問題が発生したので、これを解決していこう・・・。まず、ウィ…

CFrameWnd::LoadFrame

MFC

CFrameWnd::LoadFrameは、リソースファイルからフレームの情報をロードし、それを元にウィンドウを作成するメンバ関数・・・。CFrameWnd::LoadFrameフレームとは、フレームウィンドウを構成するメニュー、アイコン、アクセラレータキーなどの情報・・・。 CF…

CFrameWnd::Create

MFC

CFrameWnd::Createは、フレームウィンドウを作成するメンバ関数・・・。CFrameWnd::CreateWindowsAPIのCreateWindowで指定するような引数が大半だが、ほとんどはデフォルト引数が設定されているので、ウィンドウクラス名とウィンドウ名だけ指定すればウィン…

AfxRegisterClass

MFC

AfxRegisterClassは、ウィンドウクラスを登録するMFCのグローバル関数・・・。AfxRegisterClassWindowsAPIのRegisterClassのラッピング関数・・・。これを使って独自のウィンドウクラスを登録し、それを使ったウィンドウを表示する・・・。ウィンドウクラス…

CWinApp::OnIdle

MFC

CWinApp::OnIdleは、アイドル状態の時の処理を記述するためのメンバ関数・・・。CWinApp::OnIdleWindowsAPIのPeekMessageの頁で、アイドル状態の時にTextOutでウィンドウメッセージが来なかった回数(アイドル処理の回数)を表示した・・・。 MFCにおいてCWinA…

CClientDC

MFC

CClientDCは、クライアント領域のデバイスコンテキストクラス・・・。CClientDC クラスOnPaint内では、CPaintDCを使って描画を行った・・・。 CPaintDCのコンストラクタとデストラクタはWindowsAPIのBeginPaintとEndPaintの役割にあたる・・・。 OnPaint以外…

CWnd::OnLButtonDown

MFC

CWnd::OnLButtonDownは、ウィンドウ上でマウスの左ボタンが押された時(WM_LBUTTONDOWN)の処理を記述するためのメンバ関数(メッセージハンドラ)・・・。CWnd::OnLButtonDown1つ目の引数nFlagsには合わせて押されたボタンや仮想キーの情報、2つ目の引数pointに…

CPaintDC

MFC

CPaintDCは、描画用のデバイスコンテキストクラス・・・。CPaintDC クラスデバイスコンテキスト基底クラスCDCから派生したクラスで、OnPaint内での描画に使う・・・。前回、WindowsAPIで描画した文字列をCPaintDCで描画する・・・。修正するのは、CFrameWnd_…

CWnd::OnPaint

MFC

CWnd::OnPaintは、ウィンドウの描画を要求された時(WM_PAINT)の処理を記述するためのメンバ関数(メッセージハンドラ)・・・。CWnd::OnPaint引数、戻り値は無く、ここにWM_PAINTに対する処理を書く・・・。今回は、OnPaintが呼ばれた時、文字列を描画する・・…

CWnd::OnCreate

MFC

CWnd::OnCreateは、ウィンドウが作成された時(WM_CREATEが来た時)の処理を記述するためのメンバ関数・・・。 このようなウィンドウメッセージに対する処理を書くメンバ関数をメッセージハンドラという・・・。CWnd::OnCreateCWndのメンバ関数ではあるが、当…

CWnd

MFC

CWndは、あらゆるウィンドウのベースとなるウィンドウ基底クラス・・・。CWnd クラスCFrameWndもCWndの派生クラス・・・。CFrameWndの項では、CFrameWnd_のコンストラクタでウィンドウ作成のCreateを呼んでいたが、それだとCWinApp_クラスから自由に使えない…

CWinApp::ExitInstance

MFC

CWinApp::ExitInstanceは、アプリケーションの終了処理を行うメンバ関数・・・。CWinApp::ExitInstanceで、このメンバ関数はRun内部から呼ばれる・・・。 正常なら0、エラーなら0より大きい値を返す・・・。今回は、InitInstanceでTRUEの時と、FALSEの時に、…

CWinApp::Run

MFC

CWinApp::Runは、メッセージループ処理を行うメンバ関数・・・。CWinApp::Runこれに任せれば、メッセージループは勝手にやってくれる・・・。 そのため、これを普段オーバーライドすることはないが、今回は、派生クラスCWinApp_のInitInstanceでフレームウィ…