
開発環境
・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で質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
CEdit の内容が変わった時にメッセージを表示させたい
C言語・C++・C#
-
CStringからchar*への型変換について教えてください。
C言語・C++・C#
-
CStringのFindで文字列検索を行いたいのですが
C言語・C++・C#
-
-
4
エディットボックスの入力制限について
C言語・C++・C#
-
5
CString型 全角半角を意識せずに「1文字」ずつ取り出す
C言語・C++・C#
-
6
画面を強制的に再描画させる方法
C言語・C++・C#
-
7
EDITコントロールで入力できる文字を制限するには?
C言語・C++・C#
-
8
ダイアログ内コントロールの位置取得について
C言語・C++・C#
-
9
CFileDialogの最初のディレクトリ設定
C言語・C++・C#
-
10
VC++で文字列から任意の文字を削除するにはどうしたらいいですか?
C言語・C++・C#
-
11
エディットコントロールでEnter押した時の動作
C言語・C++・C#
-
12
CString から LPCTSTRの型に変換
C言語・C++・C#
-
13
MFCでOnPaintのタイミング
C言語・C++・C#
-
14
SetDlgItemTextの使い方について
C言語・C++・C#
-
15
ラベル(スタティックテキスト)内での改行。
C言語・C++・C#
-
16
文字列の置換をCStringで(C++)
C言語・C++・C#
-
17
CStaticコントロールの静的イメージ描画
C言語・C++・C#
-
18
MFCでコンボボックスを選択不可状態にしたい
C言語・C++・C#
-
19
MFCアプリのコマンドラインでパラメータを使用した起動方法
C言語・C++・C#
-
20
ラジオボタンのグループ化
C言語・C++・C#
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
スイッチが二台あり、別々のア...
-
【VB.NET】Excelの最終行までの...
-
【VB.NET】App.configにファイ...
-
エクセルに張り付けた写真のフ...
-
バッチで当日日付で作成される...
-
onedrive にexcelファイルをア...
-
vba マージエリアの行数を非表...
-
VB.NET Excelを読み込んでDataT...
-
asp.netにてgridviewの列を動的...
-
SJISで、全角文字Aの文字コード...
-
エクセル VLOOKUP検索で一番新...
-
Accessのトグルボタンでサブフ...
-
android開発初心者です。 2つの...
-
VB.NETでMSComm が追加できず?
-
SPO2測定
-
高校1年生情報の問題について。
-
エクセルのマクロについて教え...
-
インドe-Visa 承認書のApplicat...
-
SPIの非言語の割合と比が難しく...
-
SPIの対策は参考書でやるべきか?
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBA チェックボックスをオーバ...
-
FriendとPublicの違い。。。
-
イベントにAddHandlerされてい...
-
既定のコンストラクタがない?
-
ダイアログ表示時にチェックボ...
-
(UWSC) 「#32770」の意味わかり...
-
【ASP.NET】 独自で作成したク...
-
エディットコントロールでEnter...
-
クラスのアドレスを引数として...
-
WindowsAPIのリストビューの...
-
エディットコントロールのイベ...
-
MFCアプリのコマンドラインでパ...
-
ボタンのオーナードローについて
-
正規表現 [^/]+ の意味を教えて
-
C++ protectedにアクセス不可
-
このコンパイルエラーの意味に...
-
MFCのドラッグ&ドロップについて
-
C# 別プロジェクトのフォームを...
-
オーバーライド関数の呼び出し...
-
MFCのCListCtrlでスクロールを検出
おすすめ情報