HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2008
1026
shun複数のウィンドウを同時にアクティブにする17未解決


shun

リンク

2008/10/26(Sun) 19:51:41|NO.20441

タイトルのとおりです。
どうすればいいでしょうか?



この記事に返信する


Quiet

リンク

2008/10/26(Sun) 20:36:23|NO.20442


repeat 5 screen cnt gsel cnt,4 loop



レヴィン

リンク

2008/10/26(Sun) 21:56:57|NO.20444

>>複数のウィンドウを同時にアクティブにする
そもそもWindowsの仕様上そんなことできないと思うんですが。

Quietさんの書いたように同時に5つ「表示」するは可能ですが、
同時に「アクティブ」にすることは不可能だと思います。

もっともQuietさんも「同時」ではありませんが。



check

リンク

2008/10/26(Sun) 22:06:28|NO.20445

アクティブ
ウィンドウを一番前に持ってきて、キーやマウスの情報を受け付ける。ってとこかな。

なぜ複数のウィンドウを同時にアクティブにしたいんだ。



shun

リンク

2008/10/26(Sun) 23:54:36|NO.20446

すみません僕が言いたかったのは、複数をすべて最善面に持ってくることです。



Quiet

リンク

2008/10/27(Mon) 00:57:48|NO.20448

出来ません。
というかまず、想像できません(^^;
screen 0,200,200,0,100,100
screen 1,200,200,0,200,200
repeat

gsel 0,4
gsel 1,4

wait 0
loop



チラついてしまいますが、こういう事なんですか?





GENKI

リンク

2008/10/27(Mon) 02:16:54|NO.20449

> 複数をすべて最善面に持ってくることです。

最前面に表示できるウィンドウは1つだけです。これはWindowsの仕様です。
ウィンドウが重ならないように並べればどっちが前か分からなくなるので
一見複数のウィンドウが最前面にあるかのように見えなくもないですが、
そう見えるだけで前後関係があります。


他のアプリケーションよりもHSPのウィンドウを前に表示させたいというのなら、
gselの2番目の引数を2にすると常に最前面に表示されるようになります。

いったん最前面に表示されたあとに、他のウィンドウを最前面にもってきたい
場合は、ウィンドウアクティブスイッチを1に戻すといいでしょう。


> gsel 0,4

4って何だろう…とか考えてしまいました。
2以上は2として扱われるんですね。



Quiet

リンク

2008/10/27(Mon) 02:38:33|NO.20450

>4って何だろう…とか考えてしまいました。
すいません、4と書くのが何故か癖になってしまいまして・・・^^;



ANTARES

リンク

2008/10/27(Mon) 02:46:41|NO.20451

 「複数を最前面に」というからには、「1つを最前面にする」方法は
知っているんですよね? だとすると、複数に対してその方法を
実行したときの何が不満なのかを書かなければ意味不明です。



shun

リンク

2008/10/27(Mon) 07:43:29|NO.20452

複数に指定した場合、全く別のソフトなどのウィンドウに負けてしまいますよね。
それをなくしたいのですが・・・・。



SYAM

リンク

2008/10/27(Mon) 09:55:55|NO.20454

gsel 命令で最前面に出したものがその時点で他のソフトに負けていたりは多分あまりしません。が、最前面に出した後に別のソフトが同じように最前面に出して来たら負けます。
今作ってるスクリプトを2つ同時に実行して最前面を取り合ったらどうなるべきか考えてみれば、誰にも負けないウィンドウが有り得ないことは解ると思います。



あり

リンク

2008/10/27(Mon) 10:32:49|NO.20455

ようするに、複数ウィンドウを出して
それらを他のアプリのウィンドウよりも常に前に
出しておきたいって事なのでは?
repeat 5 :screen cnt,120,120,2,cnt*130,100 :loop
repeat a=ginfo(2) ;アクティブなウィンドウがHSPか否か if a=-1 :repeat 5 :gsel cnt,2 :loop title "ID="+a wait 10 loop
こんな感じで・・・違います?



ANTARES

リンク

2008/10/27(Mon) 22:46:36|NO.20459

>複数に指定した場合、全く別のソフトなどのウィンドウに負けてしまいますよね。
 1つだったら負けないの?
そのスクリプトを書いてみせてください。



ANTARES

リンク

2008/10/27(Mon) 23:03:17|NO.20461

 仮にできたとして、そのスクリプトから違う名前の2つのexeファイルを作って
起動した場合、どっちが勝てばいいのですか?



Sucret

リンク

2008/11/23(Sun) 22:53:14|NO.20990

多少時間が経ってしまいましたが…

最後の質問に対して、ありさんのスクリプトを多重起動した場合、
そのプログラム同士が最前面に出ようと互いに競い続けます。



レヴィン

リンク

2008/11/24(Mon) 01:42:18|NO.21000

>>そのプログラム同士が最前面に出ようと互いに競い続けます。
それは多重起動を無効にするようにスクリプトを書けば、回避できますよ。



ANTARES

リンク

2008/11/24(Mon) 02:34:25|NO.21003

>そのプログラム同士が最前面に出ようと互いに競い続けます。
結局、どっちも負けてるってことでしょ。



リンク

2008/11/24(Mon) 21:46:09|NO.21019

ウィンドウを親子関係にすれば



ONION software Copyright 1997-2023(c) All rights reserved.