アプリ版:「スタンプのみでお礼する」機能のリリースについて

超素人です。
研究でこれからMFCを使います。そこで、全くわからないのでテンプレートを用いようとしたのですが、メッセージハンドラと記述されている部分が何かわかりません。
ダイアログはわかったのですが、メッセージハンドラってなんですか?
また、VC++6.0でテンプレを用いると、Dlg.cppの中のDDX_ControlやON_BN_CLICKEDの分がコメントでもないのに、灰色で記述されています。これはなぜでしょうか?
ウェブでよんでもわからなかったので、投稿しました。よろしくお願いします。

A 回答 (2件)

メッセージハンドラは何か?ですが、その前に、「イベント駆動」型プログラミングというのは分かりますか?



http://ja.wikipedia.org/wiki/%E3%82%A4%E3%83%99% …

簡単に言うと、マウスやキーボードから入力された、とか、ウィンドウが画面に表示された、など、アプリケーションにとって、何かしなければいけない変化が発生した時に、「イベント」が起こります。

このイベントが起こったぞ!という「メッセージ」がOSから伝えられたら、アプリケーションがそれに応じた個々処理する関数を「メッセージハンドラ」といいます。

テンプレートのメッセージハンドラは、必ず、何らかのイベントに対応しているので、何が起こったときに呼ばれるのかを調べていくと、何となくつかめるんじゃないでしょうか。

で、灰色になっているのは、redfox63 さんがおっしゃるとおりですが、簡単に言うと、VCが自動的に挿入してくれた部分なので、気を利かせて灰色で表示してあげているだけです。コメントアウトされているわけではありません。
    • good
    • 1

DDX_ControlやON_BN_CLICKEDなどは VC6のクラスウィザードが管理している部分です



灰色になっているのは その前後にMFCの管理用マクロがあるためです
//{{AFX_MSG_MAP(Cxx,Cxxxx)
ここにON_BN_CLICKEDなどがある
//}}AFX_MSG_MAP
のように AFX_MSG_MAPなどがMFC固有のマクロです
メッセージマップは ハンドラとWindowsメッセージを結びつけるものです

DDX_Controlは AFX_DATA_MAPによりコントロールとメンバー変数を結びつけるものです
    • good
    • 1

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

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A