前回のフォーカス位置を取得する方法

[戻る]
ねこ 2008/07/09(水) 13:48:32
前回あたっていたフォーカスを取得する方法を教えてください。

金魚ちゃん 2008/07/09(水) 19:35:58
> 前回あたっていたフォーカスを取得する方法を教えてください。
普通に取得は出来ないと思う。

ダイアログ・アプリですか?
このフォーカスってやっぱりコントロール(ボタンなど)ですよね。
だとするとダイアログをモードレス・タイプで作成してから
メッセージループで WM_FOCUS を感知してフォーカスが失う場合
現在のフォーカスがあるウインドウ・ハンドルを取得すれば出来そう。

金魚ちゃん 2008/07/10(木) 08:07:42
訂正。

×WM_FOCUS
○WM_KILLFOCUS
http://hp.vector.co.jp/authors/VA016117/lastactive.html
http://rararahp.cool.ne.jp/cgi-bin/lng/vc/vclng.cgi?print+200305/03050094.txt

たいちう 2008/07/10(木) 10:43:48
前回の意味が分からないな。前回起動時?
今フォーカスを持つコントロールの前にフォーカスを持っていたコントロール?

PATIO 2008/07/10(木) 13:48:39
WM_SETFOCUSの説明を見る限りではWPARAMで引き渡されるのが
フォーカスを失ったウインドウのハンドルみたいなので
それでわかるのではないかなと言う気がします。
MFCを使っているならCWnd::OnSetFocusがそれにあたりそう。

実際に簡単なテストプログラムを作成して確認してみるのが
良いかと思います。

古いスレッドには追加発言できません。