違うアプリケーションに移ったのを検出するには?

解決


POPO  2005-04-21 08:53:07  No: 89493  IP: [192.*.*.*]

現在メインはForm1で作業をしていてマウスのXY位置をForm2に表示
しています。このForm2はAPIのSetWindowPosをつかって常に最上面
に表示するようにしています。

しかし、IEや他のアプリケーションに切り替えてもこのForm2が最上面
にきてしまうので、VBで作成したプログラム以外(IE等)がアクティブ
になったときを検出してSetWindowPosで最上面を解除したいと考えて
います。

IEなど他のアプリケーションに移ったときはどのように検出すればいい
のでしょうか?

どなたかアドバイスお願いします。

OS:windows2000 VB:VB6

編集 削除
ガッ  2005-04-21 08:57:46  No: 89494  IP: [192.*.*.*]

なんで、SetWindowPosっているのか、詳細が不明ですが、
SetWindowPosを使わずに、
[Form2].Show()メソッドで、Parentを[Form1]にするとか?
ex)
Form2.Show vbModeless, Form1
など。

違ってたらスマソ…

編集 削除
POPO  2005-04-21 09:11:03  No: 89495  IP: [192.*.*.*]

ガッさん、あなたの言われるとおりです!
Form2.Show vbModeless, Form1ってすればSetWindowPosなんて
使わずにすむんですね。知識不足でした。

ありがとうございました。解決です。
感謝いたします。

編集 削除
特攻隊長まるるう  2005-04-21 15:23:42  No: 89496  IP: [192.*.*.*]

アクティブなウィンドウが違いますので、解決に関連するリンクでは
ありませんが、参考情報として貼らせて下さいm(__)m
http://madia.world.coocan.jp/cgi-bin/VBBBS2/wwwlng.cgi?print+200504/05040094.txt

編集 削除