開発環境
・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も見ています
-
新NISA制度は今までと何が変わる?非課税枠の拡大や投資対象の変更などを解説!
少額から投資を行う人のための非課税制度であるNISAが、2024年に改正される。おすすめの銘柄や投資額の目安について教えてもらった。
-
CEdit の内容が変わった時にメッセージを表示させたい
C言語・C++・C#
-
ダイアログ内コントロールの位置取得について
C言語・C++・C#
-
エディットの入力チェック
C言語・C++・C#
-
-
4
エディットボックスの入力制限について
C言語・C++・C#
-
5
画面を強制的に再描画させる方法
C言語・C++・C#
-
6
ラベル(スタティックテキスト)内での改行。
C言語・C++・C#
-
7
MFC ダイアログ上のID取得について
C言語・C++・C#
-
8
CStringからchar*への型変換について教えてください。
C言語・C++・C#
-
9
ボタンの配置を変更したい
C言語・C++・C#
-
10
コンボボックスでデフォルト値の設定
C言語・C++・C#
-
11
最大化と最小化ボタン
C言語・C++・C#
-
12
エディットコントロールでEnter押した時の動作
C言語・C++・C#
-
13
ラジオボタンのグループ化
C言語・C++・C#
-
14
VC++にてボタン等のサイズ取得
C言語・C++・C#
-
15
エディットボックスのフォントを変えたい
C言語・C++・C#
-
16
CStringの配列要素を関数で受け渡しするには?
C言語・C++・C#
-
17
VC++のコンボボックスの各項目の背景色と文字色を変える方法
C言語・C++・C#
-
18
CStringのFindで文字列検索を行いたいのですが
C言語・C++・C#
-
19
リソースエディタでスタティックテキストの文字サイズの変更
C言語・C++・C#
-
20
コンボボックスの高さを変更したい。
C言語・C++・C#
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
FriendとPublicの違い。。。
-
エディットコントロールでEnter...
-
(UWSC) 「#32770」の意味わかり...
-
C++/CLIからC++の呼び出しで例外
-
【ASP.NET】 独自で作成したク...
-
ダイアログ表示時にチェックボ...
-
クラスのアドレスを引数として...
-
CMainFrameクラスの使い方
-
C#のクラス設計について教えて...
-
ボタンのオーナードローについて
-
MFC モードレスDlgについて
-
IncludeではなくClassで宣言す...
-
VC++ リストボックスにデータを...
-
フォーム間でのオブジェクト又...
-
エディットコントロールのイベ...
-
オブジェクト指向 集約の実装...
-
継承したクラスを、継承元のク...
-
OnInitDialog()の関数の組み込み方
-
SetTimerの行でアサートエラー...
-
既定のコンストラクタがない?
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
FriendとPublicの違い。。。
-
既定のコンストラクタがない?
-
イベントにAddHandlerされてい...
-
クラスのアドレスを引数として...
-
ダイアログ表示時にチェックボ...
-
(UWSC) 「#32770」の意味わかり...
-
エディットコントロールのイベ...
-
エディットコントロールでEnter...
-
WindowsAPIのリストビューの...
-
CMainFrameクラスの使い方
-
DebugクラスとTraceクラスの違い
-
MessageBoxを継承したい
-
C++ protectedにアクセス不可
-
このコンパイルエラーの意味に...
-
MFCのドラッグ&ドロップについて
-
MFCアプリのコマンドラインでパ...
-
【ASP.NET】 独自で作成したク...
-
C#で通常のbuttonコントロール...
-
ダイアログクラスのコントロー...
-
派生クラスから基本クラスprote...
おすすめ情報