
はじめまして。
質問させてください。
VC++ 2005 MFCで開発しております。
DLGにボタンを配置して
ボタン押下後自身のEnableをきります。
するとタブがダイアログ自体も含め
どこにも当たらずタブキーが効きません。
OnOk, OnCancelで処理させたいのですが
当然メッセージを取得できません。
ダイアログのアクティブを一度切り替えるとなおります。
解決方法としては
ボタン押下でEnableをきった後
ダイアログにフォーカスを当てると正常に動きます。
This->SetForcus();
これはMFCの仕様なのでしょうか?
ボタン押下後自身のEnableをきることはよく行う動きだと思いますが。
以上になります。
お詳しい方がおられましたらご教授お願い致します。
No.1ベストアンサー
- 回答日時:
確かに アクティブなアプリケーションにもかかわらずフォーカスを持っているコントロールがなくなるとKeyDownなどのイベントが取れませんね
CloseボタンのクリックとALT+F4には反応するようです
OnCancelが呼ばれます
対処療法として CDialogの派生クラスにフォーカスを与えるって方法でしょう
EnableWindowを使った後で GetFocusがNULLを返すようなら
this->SetFocus() といった具合でしょうか
http://forums.microsoft.com/msdn-ja/default.aspx
で質問してみたら もう少しましな回答が得られるかも
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBAで一時中断したプログラムの...
-
MFC ボタンのEnableについて
-
グリッドビューでのチェックボ...
-
TabStripのイベントについて
-
クリック連打ソフト作成
-
Fancyboxのiframe内に閉じるボタン
-
Page_Load時にボタンクリックイ...
-
Ctrlキーを押しながらのダブル...
-
初期状態に戻す方法
-
ブラウザの×ボタン(閉じるボタ...
-
メール添付されたPDFファイルが...
-
エクセルVBAで画面の大きさを取...
-
getParameterで値が取得できず...
-
Accessの画面更新を一時的に停...
-
ページングが大量発生する原因...
-
ASP.NetのGridViewで任意の行ク...
-
ASP.net MVC セッションハイジ...
-
formの送信ボタンをテキストに...
-
submitボタンを横一列複数リン...
-
ACCESS2010 WEBブラウザーコン...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBAで一時中断したプログラムの...
-
c# 文字列の最後から1文字削除...
-
Eclipseでクリーンが出来ない
-
JSPでメッセージボックスを表示...
-
DataGridViewのチェックボック...
-
メール添付されたPDFファイルが...
-
今更、VBAでRPA、キーボード操...
-
「押下」は「おうか」と読む?
-
javascript 別ウィンドウを開...
-
ロストフォーカスイベントとそ...
-
SPREADでカーソルの位置を1行目...
-
ブラウザの×ボタン(閉じるボタ...
-
JSPでボタンを押したら、文字が...
-
グリッドビューでのチェックボ...
-
表示ボタン押下すると、テキス...
-
Fancyboxのiframe内に閉じるボタン
-
GridViewの項目編集(初歩)
-
【C#】 : WindowsProgramming ...
-
Ctrlキーを押しながらのダブル...
-
C# Enterキーの動作について
おすすめ情報