過去の桐井戸端BBS (桐ver.8)
15527 オーバーラップフォームで開いた直後にアクティブにならない Rockey 2002/03/22-12:03
桐ve8sp6、WIN2000です。
オーバーラップフォームでメインメニューを作成し
ウインドウ作成で開くようにしていますが、
いつもではないようですが、フォームがアクティブになりません。
なるべくマウスを使わないように意識して作ったのに
最初だけマウスを使わなければなりません。
この辺は、何か対応策があるのでしょうか?
15530 Re:オーバーラップフォームがアクティブにならない 佐田 守弘 2002/03/23-09:29
記事番号15527へのコメント
Rockeyさん
書かれているだけでは状況が分からない所がありますので、
的確な原因の把握ができないのですが、ひとまず次の事を確認させて下さい。

>オーバーラップフォームでメインメニューを作成し
>ウインドウ作成で開くようにしていますが、
との事ですが、これは、

@そのオーバーラップフォームを一括処理からウインドウ作成コマンドで開こうとしている。
Aオーバーラップフォームのメインメニューから次のフォームを、イベントなどのウインドウ作成コマンドで開こうとしている

のどちらの意味でしょうか。
そして、アクティブにならないのは、このメインフォームの方でしょうか
それともメインフォームから開こうとしているフォームでしょうか。

なおオーバーラップフォームは、ウインドウ作成コマンドで開くのではなく、
メインメニューであればそのフォームを直接開く方が良いでしょう。
また、メインメニューから次のフォームを開く時にも、ウインドウ作成を使わず、
機能名の「開く」あるいは目的によっては「フォームの選択」を使うか、
イベントで開くならフォーム呼出しコマンドを使う方が良いかと思います。

佐田守弘(KS-00119)
15531 Re:オーバーラップフォームがアクティブにならない Rockey 2002/03/23-09:51
記事番号15530へのコメント
すみません。説明が違っていました。
再度書き直します。

メインメニューを作成し、その中にコマンドボタンを
いくつか作成し、仕入処理、売上処理...云々としています。
そのフォームをダブルクリックで開いてから
↓↑でコマンドボタンを移動させエンターキーを押す
という風にしたいのですが、メインメニューが開いても
アクティブウインドウにならずにキーが押せないのです。
最初にマウスでコマンドボタンを押せばアクティブになるので
それからはキー操作ができます。
できればメインメニューが開いたら即キーボードで処理したいと思って質問しました。

よろしくお願いします。
15532 Re:オーバーラップフォームがアクティブにならない 悲しげ 2002/03/23-10:59
記事番号15531へのコメント
どもっ、Rockeyさん
本題とは関係ないかもしれませんが、オーバーラップフォームと云うのは
(フォームの属性での設定のみならず)一番最初にそのフォームを
オープンした時しか、オーバーラップとしては挙動しなかったような気がします。
一括処理から「ウィンドウ作成」した時や、別なフォームから「開く」や
「フォーム呼出し」「モーダルフォーム」等で開いた時は、属性での設定いかんにかかわらず、
全て「ポップアップ」(または「チャイルド」)フォームとしての挙動になったような気がします。

15536 Re:オーバーラップフォームがアクティブにならない 佐田 守弘 2002/03/23-11:34
記事番号15532へのコメント
Rockeyさん
悲しげさんが、#15532で書かれている通り、オーバーラップフォームや
ポップアップフォームを一括処理の中から呼び出すと、設定にかかわらず全てチャイルドになります。
一括処理で起動した場合、一括処理で全てが制御されるため、
そこから開く次のウインドウは、一括処理で開いたウインドウの子供(チャイルド)に
ならざるを得ないという事情があると考えて下さい。

オーバーラップフォームを親のウインドウとして開くには、これを直接開く必要があります。

●このケースの場合に
「そのフォームをダブルクリックで開いてから」
と書かれているので、一括処理からこのメニューフォームを開いている
のではなく、メニューフォームを直接開いていると解釈して宜しいですね。

であれば、開いたフォームは原則として(必ず)アクティブになります。
それがアクティブにならないとしたら、フォームの設定に何らかの不都合があるかだと思います。
と言いましても、書かれているだけの情報では、それが何であるかの判断はできません。
次のフォームの開き方などを中心にチェックしてみて下さい。

佐田守弘(KS-00119)

このコメントツリーの2つ前の
「No.15513コマンドボタンではなくピクチュア領域でイベントを使いたい」の中に、関連する事として、
「【解説】フォームを開いたり閉じたりする(1)/(2)」
を書きました。こちらも参考になると思います。

15538 Re:オーバーラップフォームがアクティブにならない 尾形 2002/03/23-13:06
記事番号15531へのコメント
この問題は過去にもあった気がしますが
結局はどうしようもないというのが結論ではないのでしょうか

http://www.fuku3.com/~habata/kbbs/kakov8/06164.htm
他にもあったと思うけど探せない (^^;

15540 Re:オーバーラップフォームがアクティブにならない 悲しげ 2002/03/23-13:28
記事番号15538へのコメント
あ、その問題でしたか。(^^;)
ま、これは「オーバーラップ」フォームに限った問題でもありませんよね。
私の場合、常にタスクバーを表示させて使っているので、殆ど気にしてはいませんでした。
15543 Re:オーバーラップフォームがアクティブにならない Rockey 2002/03/23-19:56
記事番号15540へのコメント
皆さんありがとうございます。

今のところ難しいことのようですね。
V9に期待します。

15549 Re:オーバーラップフォームがアクティブにならない 佐田 守弘 2002/03/24-00:57
記事番号15543へのコメント
Rockeyさん、尾形さん、悲しげさん
その問題でしたか。だとしたらこれは私も多分に経験があります。
Windows環境では仕方ない事だと思っております。
これについて何か書こうと思っていたら、尾形さんが紹介して下さった
過去ログに、自分で既に書いていましたので、割愛します。

さて、Rockeyさん
>V9に期待します。
は、期待してもだめだと思います。
もし改善を期待するなら、ビルゲイツ君に要望して下さい。それが一番良いかと思います。

因みに、この現象は、XPの方が少しは起きにくい様にも感じますが、
それでもやはり時々発生します。

と言うか、桐が起動してフォームが表示されるまでの間に、現在開かれている
アプリのウインドウ上で何かポイントしたり、クリックすると、
開かれるはずの桐のメニューが開かれずに終わります。
Windowsのお約束の上で当たり前と言えば当たり前ですが、ユーザーから見れば、
「起動したアプリがなぜ開かないんだ」という気分になりますね。

佐田守弘(KS-00119)
15550 Re:オーバーラップフォームがアクティブにならない pokopon 2002/03/24-01:27
記事番号15527へのコメント
Rockeyさん こんにちは

>いつもではないようですが、フォームがアクティブに
>なりません。
>なるべくマウスを使わないように意識して作ったのに
>最初だけマウスを使わなければなりません。
>この辺は、何か対応策があるのでしょうか?

桐だけではどうも・・・・。尾形さんがご説明されているようですが。
別のアプローチから・・・・
外部からモジュールというかスクリプトを呼び出し、
桐フォームを指定してアクティブにする。
但し、常に前面に表示されるようなアプリのウインドウの場合には仕方ないけど。

例えば、WHS等・・・・。
以下、自主規制です。
(そこまでしてまで・・・・とは思うのだけど・・・・どうしてもと言うなら)


15553 Re:オーバーラップフォームがアクティブにならない hidetake 2002/03/24-07:42
記事番号15550へのコメント
>(そこまでしてまで・・・・とは思うのだけど・・・・どうしてもと言うなら)

どうしても!どうしても!と言う事なら
でも、どこに不具合があるか?
わかりもしないけれど・・・

http://www2u.biglobe.ne.jp/~s_tanaka/cgi-bin/bbs/bbs.cgi?function=logview_html&no=38#1867
http://www2u.biglobe.ne.jp/~s_tanaka/cgi-bin/bbs/bbs.cgi?function=logview_html&no=38#1859

>以下、自主規制です。

絶対に

>なお、この件で K3 に問い合わせなど絶対に
>しないように _o_ > ALL



ただ、これも桐以外のアプリケーションに
アクティブフォーカスが移っていたら、
桐に戻せるというものではありません。
桐内のアクティブ設定を切り換えられるだけだし、
フォームだけの話です。

それと、新しく開いたフォームやアプリに
フォーカスが移りにくいのは、2000 や XPの方が多いはずです。
後から別のセッションで起動されたウィンドウをバックグラウンドで開き、
タスクバーを点滅させるような仕様になっています。
これも設定で変更できるのですが、
マウス等を多少でも動かした場合に、
どうしても、そのウィンドウにフォーカスが
残りやすい現象があるようです。

ウィンドウがフォアグラウンドに来ないで、タスクバー上で点滅するのですが
http://homepage2.nifty.com/winfaq/w2k/hints.html#993

15554 Re:オーバーラップフォームがアクティブにならない pokopon 2002/03/24-10:24
記事番号15553へのコメント
hdetakeさん 再びどうも。

「アクティブ設定」・・・・知らんかった。 (@_@) でも、使えそう!!

>どうしても!どうしても!と言う事なら
>でも、どこに不具合があるか?わかりも
>しないけれど・・・

マウス1クリックで全て解決するんですけどね。 (^^ゞ

>ただ、これも桐以外のアプリケーションに
>アクティブフォーカスが移っていたら、桐
>に戻せるというものではありません。
>桐内のアクティブ設定を切り換えられるだ
>けだし、フォームだけの話です。

WshShell.AppActivate(appTitle) なら?
時間差攻撃という事で・・・・。

おっと、自主規制、自主規制・・・・・。 (^^ゞ

戻る