IDCANCEL を押下した場合に、処理を行わない ON_EN_KILLFOCUS – プログラミング – Home

IDCANCEL を押下した場合に、処...
 
通知
すべてクリア

[解決済] IDCANCEL を押下した場合に、処理を行わない ON_EN_KILLFOCUS


ロケットサラダ
 ロケットサラダ
(@ロケットサラダ)
ゲスト
結合: 18年前
投稿: 34
Topic starter  

VC++ MFC ダイアログベースです。

・ダイアログの中にいくつかのエディットボックスがあり、それぞれのエディットボックスは
フォーカスを取得した時に、エディットボックスの中身を取得し、
フォーカスを失った時に、エディットボックスの中身が変更されていたら処理を行う。

と言うプログラムを書こうと思っています。

但し、IDCANCELや、右上の×で閉じられた時は、変更があったとしても
処理をしないでダイアログを閉じたいのですが、
どうしても処理を行ってしまいます。

IDCANCELや、右上の×を回避するには、どのような手段があるのでしょうか?
よろしくお願いいたします。

void CMyDlg::OnSetfocusEdit1()
{
 //フォーカスを取得した時に、エディットボックスの中身を保存
}

void CMyDlg::OnKillfocusEdit1()
{
 //フォーカスを失う時に、値の変更があったかチェックし、
 //変更があった場合は処理を行い。 
 //変更が無かった場合は何もしない。
}


引用未解決
トピックタグ
επιστημη
 επιστημη
(@επιστημη)
ゲスト
結合: 22年前
投稿: 1301
 

変更前の状態に戻すを適宜呼び出すことになりそうです。
そもそも「フォーカスを失ったら直ちに保存する」必要があるか、再考してはいかがで
しょう。


返信引用
ロケットサラダ
 ロケットサラダ
(@ロケットサラダ)
ゲスト
結合: 18年前
投稿: 34
Topic starter  

επιστημηさんありがとうございます。

>そもそも「フォーカスを失ったら直ちに保存する」必要があるか、再考してはいかがで
>しょう。

処理を行うタイミングですが、
ファーカスを失ったときOnKillfocusEdit1() だったのを、
 
新しく「確定キー」を作成して、確定キーが押下された時に、
処理を行うように書き直してみようと思います。


返信引用
ロケットサラダ
 ロケットサラダ
(@ロケットサラダ)
ゲスト
結合: 18年前
投稿: 34
Topic starter  

解決チェックしていませんでした。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました