tagCANDY CGI VBレスキュー(花ちゃん)の Visual Basic 6.0用 掲示板 [ツリー表示へ]   [Home]
一括表示(VB6.0)
タイトルキャプチャソフトなどで見掛ける・・
記事No11533
投稿日: 2008/02/26(Tue) 11:36
投稿者もっち
画面キャプチャソフトなどでよく見掛ける、マウスカーソルがウィンドウ上にくると、そのウィンドウ枠が太線で囲まれ、別のウィンドウにカーソルが移動するとそのウィンドウ枠が太線で囲まれるといった処理はVB(6.0)で可能でしょうか?(API使用も含めて)。C++のSPY++ファインダーツールのようなプログラムを作ろうとしています。
分かる方おりましたら、よろしくお願いします。

[ツリー表示へ]
タイトルRe: キャプチャソフトなどで見掛ける・・
記事No11534
投稿日: 2008/02/26(Tue) 12:51
投稿者魔界の仮面弁士
WindowFromPoint API で、カーソル位置にあるウィンドウを取得し、
http://msdn.microsoft.com/library/ja/jpwinui/html/_win32_windowfrompoint.asp
GetWindowRect API で、対象ウィンドウのサイズを取得して、
http://msdn.microsoft.com/library/ja/jpwinui/html/_win32_getwindowrect.asp
その座標に「穴の空いたフォーム」を枠線代わりに重ねる方法で
実装した事があります。

フォームに穴を空けるのは、SetLayeredWindowAttributes API、
http://msdn.microsoft.com/library/ja/jpwinui/html/_Win32_SetLayeredWindowAttributes.asp
または、リージョン関数で。
http://msdn.microsoft.com/library/ja/jpgdi/html/Toppage_Region.asp?frame=true

重ねるフォームを「常に手前に表示」の状態にしておくことも忘れずに。

[ツリー表示へ]
タイトルRe: キャプチャソフトなどで見掛ける・・
記事No11536
投稿日: 2008/02/26(Tue) 13:48
投稿者K.J.K.
枠を反転させるだけでいいのであれば、API関数のFlashWindowを使ってみるとか。

[ツリー表示へ]
タイトルRe^2: キャプチャソフトなどで見掛ける・・
記事No11543
投稿日: 2008/02/26(Tue) 14:54
投稿者もっち
短時間の間に、いろいろなアドバイスをありがとうございました。
自分が考えていたことに近く、なんとなく方向性が決まりました。

[ツリー表示へ]