[#41806] Win32OLE and MATLAB — Masaki Suketa <masaki.suketa@...>
助田です。
6 messages
2006/02/03
[#41812] "module private"な変数・メソッド — KURODA Hiraku <hiraku@...>
こんにちは、黒田です。
5 messages
2006/02/04
[#41825] RRSE 0.1 — OHBAYASHI Ippei <ohai@...>
こんにちは、大林です。
5 messages
2006/02/13
[#41854] rexml で doc.xml_decl.encoding = "shift-jis" は駄目ですか? — take_tk <ggb03124@...>
たけ(tk)です
5 messages
2006/02/24
[ruby-list:41844] Re: ruby/tkでウィンドウにフォーカスがないときにもイベントを捕捉する方法
From:
Hidetoshi NAGAI <nagai@...>
Date:
2006-02-22 13:48:20 UTC
List:
ruby-list #41844
永井@知能.九工大です.
From: <kot-hara@secom.co.jp>
Subject: [ruby-list:41843] Re: ruby/tkでウィンドウにフォーカスがないときにもイベントを捕捉する方法
Date: Wed, 22 Feb 2006 21:13:58 +0900
Message-ID: <EDFFF3AE7AC2FC4292A73EE62E2761B7180A94CC@EXVS01.SECOM.corp>
> ・・・と思ったのですが、ウィンドウを常に最前面に表示させることができませんでした。grabとかfocusとかいろいろとやってみたのですが。。。
> Tk.messageBox みたいに常に最前面に表示かつ他のアプリケーションも実行できる、というようなのが実現できるといいのですがなにぶん力量不足で。。。
ウィンドウマネージャの管理下にある場合なら,
--------------------------------------------------------
top.bind('Visibility'){top.raise}
top.bind('Expose'){top.raise}
--------------------------------------------------------
という手が使えると思うのですが,overrideredirect を true にすると
これらのイベントが来なくなるようですね.
ですので,タイマーを使って強制的に raise してやるのが
妥当な方法ではないかと思います.
つまり,
--------------------------------------------------------
TkTimer.new(50, -1, proc{top.raise}).start
--------------------------------------------------------
などとしてタイマー処理を動かしておく (-1 で無限回の繰り返しを指定)
という方法です.
この例では 50 ms ごとに強制 raise をしてますが,
このインターバルは適当に調整してください.
--
永井 秀利 (九工大 知能情報)
nagai@ai.kyutech.ac.jp