ON_CONTROL_RANGEでKILLFOCUSをする方法 – プログラミング – Home

通知
すべてクリア

[解決済] ON_CONTROL_RANGEでKILLFOCUSをする方法


クリリン
 クリリン
(@クリリン)
ゲスト
結合: 23年前
投稿: 175
Topic starter  

いつもお世話になっています。
環境は、Win2000(SP2), VC6(SP5), MFC です。

現在、コントロールを配列番号で処理するコードを記述中なのですが、メッセージ毎に各コント
ロールのメンバ関数を記述するとコードが増えるばかりではなく、解りにくくなるので、VBの
ようしています。
で、ボタンの[OnClickedButton]処理はちゃんと動作するのですが、エディットボックスのロ
ストフォーカス処理が機能しません。何故なのでしょうか?
コーディングが悪いのであれば、指摘してください。よろしくお願いします。
下記にコードを記します。

ヘッダー側
//{{AFX_MSG(CHogeDlg)
//}}AFX_MSG
afx_msg void OnClickedButton( UINT nID );
afx_msg void OnKillfocusEdit( UINT nID );
DECLARE_MESSAGE_MAP()

ソース側
//{{AFX_MSG_MAP(CHogeDlg)
//}}AFX_MSG_MAP
ON_CONTROL_RANGE(BN_CLICKED, IDC_BTN, IDC_BTN, OnClickedButton)
ON_CONTROL_RANGE(BN_KILLFOCUS, IDC_EDIT, IDC_EDIT, OnKillfocusEdit)

void CHogeDlg::OnKillfocusEdit( UINT nID )
{
ここでブレイクポイントを設けて、フォーカスを移動してもブレイクしません。
}


引用未解決
トピックタグ
Bun
 Bun
(@Bun)
ゲスト
結合: 24年前
投稿: 761
 

ソース側
>BN_KILLFOCUS

エディットですよね。


返信引用
クリリン
 クリリン
(@クリリン)
ゲスト
結合: 23年前
投稿: 175
Topic starter  

はい、エディットボックスです。
やはり、メッセージが違いますか?
でも、コンパイルでは何も指摘されないのですが・・・


返信引用
sara
 sara
(@sara)
ゲスト
結合: 23年前
投稿: 99
 

コンパイラは型チェックはしても値の妥当性まではチェックしてくれないと思います。
エディットコントロールなら EN_* を使います。


返信引用
クリリン
 クリリン
(@クリリン)
ゲスト
結合: 23年前
投稿: 175
Topic starter  

Bunさん、saraさん、レスありがとうございます。
早速、
ON_CONTROL_RANGE(EN_KILLFOCUS, IDC_EDIT, IDC_EDIT, OnKillfocusEdit)
としてみたのですが、やはり、ブレイクしてくれません。
どうしてなのでしょうか?


返信引用
Bun
 Bun
(@Bun)
ゲスト
結合: 24年前
投稿: 761
 

>やはり、メッセージが違いますか?

エディットですから。

EN_KILLFOCUS = エディットノティファイ_KILLFOCUS でわ?

BN_HOGEHOGE はボタンノティファイ(ボタン通知ホゲ)の略です。

#試してませんけど。

>でも、コンパイルでは何も指摘されないのですが・・・

これはしょーがないですよねェ。指摘がなくっても。


返信引用
クリリン
 クリリン
(@クリリン)
ゲスト
結合: 23年前
投稿: 175
Topic starter  

すいません。できました。
ありがとうございました。


返信引用
クリリン
 クリリン
(@クリリン)
ゲスト
結合: 23年前
投稿: 175
Topic starter  

何故出来なかったのかを報告します。
試したコントロールだけ、たまたま、ClassWizardでメンバ関数を作成していたのでした。


返信引用
Bun
 Bun
(@Bun)
ゲスト
結合: 24年前
投稿: 761
 

クリリンさん

すみません、何が悪くてブレイクしなかったんでしょうか?


返信引用
クリリン
 クリリン
(@クリリン)
ゲスト
結合: 23年前
投稿: 175
Topic starter  

Bunさん、解決の時に書かなくてすいませんでした。
あの時は、一つだけ、ブレイクしていなかったのですが、質問的には解決したので、
まずは、解決・・・と思い、こちらの問題が解決してから、後に報告をしようと思ったもの
で・・・


返信引用
Bun
 Bun
(@Bun)
ゲスト
結合: 24年前
投稿: 761
 

すんません、またかぶっちゃいました。m(__)m

>何故出来なかったのかを報告します。

了解です。(^_^;


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

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