WNDOWSXP + VC++2010Express + SDKです。VC++ExpressなのでMFCなどは使えません。
ウィンドウのフォーカスの取得方法について質問します。
メインウィンドウにコントロールを3つ貼り付けます。
エディットコントロール2つと、自分で作成したコントロールが1つです。
自分で作成したコントロールのウィンドウプロシージャは仮に↓こんなものだとします。
LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
{
if(message==WM_KEYDOWN)
{
if(wParam=='A'){
MessageBox(NULL,_T("A"),_T("KEYDOWN"),NULL);
}
return 0;
}
return DefWindowProc(hWnd, message, wParam, lParam);
}
プログラムを起動し、エディットコントロールAをクリックすると
エディットコントロールAにフォーカスが移動します。
キーボードのAボタンを押下すると、エディットコントロールAに「a」と入力されます。
エディットコントロールB、自分で作成したコントロールは無反応です。
エディットコントロールBをクリックすると、エディットコントロールBにフォーカスが移動します。
キーボードのAボタンを押下すると、エディットコントロールBに「a」と入力されます。
エディットコントロールA、自分で作成したコントロールは無反応です。
次に、自分で作成したコントロールをクリックした場合、
フォーカスはエディットコントロールBにあります。キーイベントなども
エディットコントロールBのみが反応します。
ここで、自分で作成したコントロールをクリックした場合に
自分で作成したコントロールがフォーカスを取得し、
キーイベントなどを独占的に受け取れるようにしたいのですが、方法がわかりません。
どなたか方法をご存知の方がいらっしゃいましたら、ご教授いただけないでしょうか。
No.3
- 回答日時:
あ,DefWindowProc なのですね。
失礼いたしました。#1
すみません。WM_LBUTTONDOWN で SetFocus したら普通にできました。
私はバカでした。事故解決してしまったので回答を締め切ります。
No.1
- 回答日時:
自分で作成したコントロールとはどのようなものでしょうか?
例えば,static control をサブクラス化したものであれば,
もとの性質を受け継いでいるので,フォーカスを受け取れないはず。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) EXCEL VBAにて動的にCheckBOXを複数作成し、同BOXにイベントを追加したい 1 2023/03/16 07:05
- C言語・C++・C# ActiveXコントロールを.NETにインポートできない??? 2 2023/05/02 02:50
- その他(Microsoft Office) EXCELでバーコードを作成すると白くなってコードが見えません 1 2022/04/04 14:24
- Excel(エクセル) コントロールにリンクするセルが選択されない 3 2022/06/12 14:37
- Excel(エクセル) EXCEL ActiveX コマンドボタンで実行する前にいったんmsgBoxで確認を求めたい 1 2022/07/06 19:41
- 呼吸器・消化器・循環器の病気 心筋梗塞の発作って薬でコレステロールの値をコントロールしても起こりえますか うちの親の話で、体重は相 7 2022/12/27 20:20
- その他(悩み相談・人生相談) 質問 自分は強気にいつもマウンティングし、従わせたいし、優位にたちコントロールするくせ、こちらが強気 2 2023/06/24 09:26
- 中古パソコン USBキーボードを外すと、起動できなくなる 2 2023/03/25 14:57
- その他(コンピューター・テクノロジー) コントロール+Fキーについて 2 2022/10/03 16:59
- 超常現象・オカルト 明晰夢で思い通りに夢を操れる? 3 2022/07/01 17:37
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
(VBA)スピンボタンの大量...
-
エクセル・VBA CheckBoxのオブ...
-
カメラスクロールするのを動画...
-
VB6.0で データベースの値をコ...
-
VBAでドラッグ・アンド・ドロップ
-
vb.netで画面のコントロールId...
-
PDQCommは今でも入手できますで...
-
自己中心のの嫁さんをコントロ...
-
listviewの設定について
-
excel VBAでタイマコントロール...
-
優しくされると甘えて調子に乗...
-
BCB5でVBAのActiveX...
-
VB6.0 ExeとDllの違い
-
DataGridView、1セルに複数コ...
-
winsockというオブジェクト
-
エクセルのチェックボックスと...
-
Lineshapeコントロールの削除方...
-
excel vbaでユーザーフォームに...
-
C言語による「テキストファイル...
-
C# ユーザコントロール内のボタ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセル・VBA CheckBoxのオブ...
-
カメラスクロールするのを動画...
-
vb.netで画面のコントロールId...
-
C#,vb.netで業務用アプリ開発と...
-
EXCELでactivexコントロールを...
-
フォーム上の現在アクティブな...
-
ExcelVBAでListViewが使用できない
-
コンボボックスの文字によるif...
-
C#で角が丸いテキストボックス
-
エクセルVBAでオプションボタン...
-
ユーザーフォームで動的(Me.Con...
-
VBAのフォームでTextBoxがいっ...
-
アクセス特有の書き方?
-
エクセル コントロールツール...
-
間違えて配置してしまったコン...
-
変数をコントロール型で使用す...
-
(VBA)スピンボタンの大量...
-
Labelコントロールの(左右)余...
-
excelのリストボックスで選択し...
-
Excel VBA で Richtextboxを使...
おすすめ情報