開発環境
・Windows XP (32bit)
・Visual C++ 2005
以下内容でCEditの派生クラスを作成したところ、
その派生クラスを使用するダイアログで
EN_CHANGEイベントがキャッチ出来ませんでした。
どうすればキャッチ出来るようになるでしょうか?
アドバイス頂けると大変ありがたいです。
※エディットコントロールに文字を入力すると
以下(1)の処理には来るのですが、
以下(2)の処理には来ませんでした。
//------------------------------------------------
// EditEx.h
//------------------------------------------------
// CEditの派生クラス
class CEditEx : public CEdit
{
public:
CEditEx(void);
virtual ~CEditEx(void);
//------------------------------------------------
// EditEx.cpp
//------------------------------------------------
// CEditExクラス内でEN_CHANGEイベントを処理
BEGIN_MESSAGE_MAP(CEditEx, CEdit)
ON_CONTROL_REFLECT(EN_CHANGE, &CEditEx::OnEnChange)
END_MESSAGE_MAP()
// EN_CHANGEイベントハンドラ
void CEditEx::OnEnChange(void)
{
// (1)
}
//------------------------------------------------
// DialogEx.h
//------------------------------------------------
// CEditExクラスをメンバに持つダイアログ
class CDialogEx : public CDialog
{
private:
CEditEx m_Edit1;
//------------------------------------------------
// DialogEx.cpp
//------------------------------------------------
// CDialogExクラス内でもEN_CHANGEイベントを処理したい
BEGIN_MESSAGE_MAP(CDialogEx, CDialog)
ON_EN_CHANGE(IDC_EDIT1, &CDialogEx::OnEnChangeEdit1)
END_MESSAGE_MAP()
// EN_CHANGEイベントハンドラ
void CDialogEx::OnEnChangeEdit1(void)
{
// (2)
}
No.1ベストアンサー
- 回答日時:
ON_CONTROL_REFLECT を ON_CONTROL_REFLECT_EX に書き換えて、
void CEditEx::OnEnChange(void) を BOOL CEditEx::OnEnChange(void) に書き換えます。
OnEnChangeの戻り値にFALSEを返せば、親(CDialogEx)のハンドラが呼び出されますよ。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) EXCEL VBAにて動的にCheckBOXを複数作成し、同BOXにイベントを追加したい 1 2023/03/16 07:05
- C言語・C++・C# Windows Formアプリからコンソールを呼び出して文字を出力させたい 8 2023/05/09 10:53
- Java java final 1 2022/06/10 22:49
- C言語・C++・C# 大量のデータを読み込んで表示する速度を改善したい 8 2023/05/07 13:29
- Java JavaのSingletonパターンのprivateの持つ意味が分かりません。 5 2022/06/12 10:38
- Java java 飾子を付けること(public static・・・) ・コンソールへの出力処理はmainメ 2 2022/06/16 19:34
- JavaScript jQueryでのドラッグアンドドロップについて 1 2022/07/07 21:04
- Java java 入力 3 4 3 出力 ABC DEFG HIJ このようなプログラムの書き方を教えてくだ 2 2022/07/15 14:18
- PHP アップロード画像数でCSSを分けることに成功したのですが、画像の横に文字を並べることが出来ません。 3 2023/07/28 17:16
- Java Java プログラム public class Main { public static void 3 2023/08/10 23:46
このQ&Aを見た人はこんなQ&Aも見ています
-
性格の違いは生まれた順番で決まる?長男長女・中間子・末っ子・一人っ子の性格の傾向
同じ環境で生まれ育っても、生まれ順で性格は違うものなのだろうか。家庭教育研究家の田宮由美さんに教えてもらった。
-
CEdit の内容が変わった時にメッセージを表示させたい
C言語・C++・C#
-
ダイアログ内コントロールの位置取得について
C言語・C++・C#
-
エディットボックスの入力制限について
C言語・C++・C#
-
-
4
エディットの入力チェック
C言語・C++・C#
-
5
ラベル(スタティックテキスト)内での改行。
C言語・C++・C#
-
6
MFC ダイアログ上のID取得について
C言語・C++・C#
-
7
CStringからchar*への型変換について教えてください。
C言語・C++・C#
-
8
ボタンの配置を変更したい
C言語・C++・C#
-
9
画面を強制的に再描画させる方法
C言語・C++・C#
-
10
コンボボックスでデフォルト値の設定
C言語・C++・C#
-
11
CStringのFindで文字列検索を行いたいのですが
C言語・C++・C#
-
12
最大化と最小化ボタン
C言語・C++・C#
-
13
ラジオボタンのグループ化
C言語・C++・C#
-
14
作成したウインドウのサイズを固定するには?
C言語・C++・C#
-
15
VC++のコンボボックスの各項目の背景色と文字色を変える方法
C言語・C++・C#
-
16
エディットコントロールの色の変更方法
C言語・C++・C#
-
17
MFCのコントロールにUTF-8の文字を表示したい
C言語・C++・C#
-
18
EDITコントロールで入力できる文字を制限するには?
C言語・C++・C#
-
19
コンボボックスの高さを変更したい。
C言語・C++・C#
-
20
CStringの配列要素を関数で受け渡しするには?
C言語・C++・C#
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
FriendとPublicの違い。。。
-
派生クラスから基本クラスprote...
-
C#で通常のbuttonコントロール...
-
DateAdd関数について質問があり...
-
クラスのアドレスを引数として...
-
エディットコントロールでEnter...
-
継承を重ねた場合のコストはど...
-
C++ protectedにアクセス不可
-
vba sendKeysを送る相手のソフ...
-
MessageBoxを継承したい
-
不要になった、普通の構造体の処理
-
ダイアログ表示時にチェックボ...
-
クラス内の構造体の実体化とア...
-
オブジェクト型の変数が定義さ...
-
c# Equalsメソッドについて
-
関数で値渡しと参照渡しではど...
-
Visual studio c# android オブ...
-
C# panel内のコントロールの使...
-
CreateObjectとはどういう意味...
-
ADODB.Connectionはインターフ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
FriendとPublicの違い。。。
-
既定のコンストラクタがない?
-
イベントにAddHandlerされてい...
-
クラスのアドレスを引数として...
-
ダイアログ表示時にチェックボ...
-
(UWSC) 「#32770」の意味わかり...
-
エディットコントロールのイベ...
-
エディットコントロールでEnter...
-
WindowsAPIのリストビューの...
-
CMainFrameクラスの使い方
-
C++ protectedにアクセス不可
-
DebugクラスとTraceクラスの違い
-
MessageBoxを継承したい
-
このコンパイルエラーの意味に...
-
MFCアプリのコマンドラインでパ...
-
MFCのドラッグ&ドロップについて
-
派生クラスから基本クラスprote...
-
【ASP.NET】 独自で作成したク...
-
C#で通常のbuttonコントロール...
-
ダイアログクラスのコントロー...
おすすめ情報