PB 電子会議室

コメント

発言No. 更新日 題名(クリックすると発言内容と関連するコメントが表示されます)
17339 02/04/26 09:46:09 RE(3):PB7.0: ウィンドウは最前面に出るのですがアクティブになりません。(解決) By indian
17248 02/04/12 02:14:42 RE(2):PB7.0: ウィンドウは最前面に出るのですがアクティブになりません。 By isii
17245 02/04/11 17:14:50 RE(1):PB7.0: ウィンドウは最前面に出るのですがアクティブになりません。 By aki
17241 02/04/10 14:01:41 PB7.0: ウィンドウは最前面に出るのですがアクティブになりません。 By うえ

カテゴリ:スクリプトの記述
日付:2002年04月12日 02:14 発信者:isii
題名:RE(2):PB7.0: ウィンドウは最前面に出るのですがアクティブになりません。

うえさん、おはようございます。

>いつもお世話になっております。

>現在、電話と連携したCTIシステムをPBを使って作っています。
>電話がかかってきたときに最前面にウィンドウを表示してキーボードで[ENTER]キーを押すと
>電話を受けられるように作っています。
>今のところ、ウィンドウのClickedイベントに
>This.SetPosition(TopMost!)
>This.SetFocus( )
>と記述して、ウィンドウのOpenイベントで最後にPostEvent(Clicked!)
>で最前面に表示を呼び出しています。
>動作としては、ウィンドウは最前面に表示されるのですが、ウィンドウがアクティブになっていない
>(タイトルバーの部分がグレーのままで青くならない)のでキーボードで[Enter]キーを押しても
>キーイベントが働かない状況です。
>ちなみに、SetFocus()関数の部分にWindowsAPIのSetForeGroundWindow()関数を使用しても
>タスクバー上の表示は青く点滅するもののウィンドウ本体はグレーのままです。
>どなたか、ウィンドウを一度クリックしてアクティブな状態にする方法を御存知の方は
>いらっしゃいませんでしょうか?

私は、PB6.5.1を使用していますが、
日付:1998年06月04日 10:17  発言者:Taka 
題名:RE(1):PB5.0.02: タブコントロールの初期タブページを指定したい. 
の内容を応用して、ウィンドウのClickedイベントに以下の記述で解決できました。

Open( [ウィンドウ名] )
[ウィンドウ名].Post SetFocus()

ちなみに、私もOpenイベントでSetFocus()、WindowsAPIの関数、This.BringToTop等々を試してみました
が、ウィンドウがアクティブにならなかったので、この方法にしました。

付加情報:

PowerBuilder Version (記載なし)

Client SoftWare

OS Windows98
DBMS Oracle SQL*Net 2.3
Browser InternetExplorer5.X

Server SoftWare

OS HP-UX
DBMS Oracle 8.0
WebServer IIS

PowerSpaceの運営は、パワーフューチャー株式会社が行っております。
Copyright © 2013 Power Future Co., Ltd.