.NET WINXP MFC です。
リッチエディットコントロールで、OnEnChangeRicheditをハンドルしたところ、関数の中に下記のコメントがありました。
// TODO : これが RICHEDIT コントロールの場合、まず、CFormView::OnInitDialog() 関数をオーバーライドして、
// OR 状態の ENM_CORRECTTEXT フラグをマスクに入れて、
// CRichEditCtrl().SetEventMask() を呼び出さない限り、
// コントロールは、この通知を送信しません。
この意味が分かりません。
「イベントマスク」や「ENM_CORRECTTEXT」や「SetEventMask」などで「くぐぐって」みたのですが、探し方が悪いのか、MFCで、参考になるものは見つかりませんでした。
実際にリッチエディットボックスに書き込みをしても、OnEnChangeRichedit は呼ばれていません。
初歩的なことで恥ずかしいのですが、アドバイスをお願いいたします。
あちこち「くぐって」いて、
m_richedit.SetEventMask(ENM_SELCHANGE|ENM_UPDATE|ENM_CHANGE);
を見つけ、OnInitialUpdateの中に書き込んだところ、OnEnChangeRicheditが呼ばれるようになりました。
ただ、これですと、ENM_CORRECTTEXT は使っていません。
これでよろしいのでしょうか。
ENM_CORRECTTEXT を書き加えても、OnEnChangeRicheditは呼ばれています。
ツイート | ![]() |