DOBON.NET DOBON.NETプログラミング掲示板過去ログ

フォームを前面に表示したい !!

環境/言語:[WindowsXP, VB6 SP6]
分類:[VB6以前]

いつもお世話になっております。
初めて投稿致します。

実は2つのフォーム(AフォームとBフォーム)を作成して、どちらのフォームを
アクティブにしても常にAフォームが前面にくる様にしたいのです。
しかし他のアプリケーションがアクティブになった時は、そのアプリの後ろに
移動したいのです。
これは Microsoft Excel 等のヘルプキャラクター(イルカ等)等がそうですよね。
単純に前面にするには SetWindowPosを使用して、
SetWindowPos Me.hwnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE Or SWP_NOSIZE
(Me はAフォーム)
とすれば良いのですが、他のアプリがアクティブになっても前面になってしまいます。
何か良い方法等はないでしょうか。

宜しく御願いいたします。
こんにちは、じゃんぬ です。

■No11701に返信(Canさんの記事)
> 実は2つのフォーム(AフォームとBフォーム)を作成して、どちらのフォームを
> アクティブにしても常にAフォームが前面にくる様にしたいのです。

オーナーという概念で可能です。

フォームを特定のフォームより手前に表示する
http://jeanne.wankuma.com/tips/form/21-ownedform.html
■No11702に返信(じゃんぬねっとさんの記事)
> こんにちは、じゃんぬ です。
>
> ■No11701に返信(Canさんの記事)
>>実は2つのフォーム(AフォームとBフォーム)を作成して、どちらのフォームを
>>アクティブにしても常にAフォームが前面にくる様にしたいのです。
>
> オーナーという概念で可能です。
>
> フォームを特定のフォームより手前に表示する
> http://jeanne.wankuma.com/tips/form/21-ownedform.html

じゃんぬさん、御指導頂きまして誠に有難うございます。
おかげさまで希望通りのアプリケーションを作成する事が出来ます。
これからも何かありましたなら、宜しく御願い致します。
解決済み!

DOBON.NET | プログラミング道 | プログラミング掲示板