[Tokyo.pm] Tk::Widget

harada goichi goichi @ mb.kcom.ne.jp
1999年 7月 24日 (土) 07:26:43 CDT


原田です。

>Tk::Widget (注、Tk::widgetsではありません。)
>の、ドキュメントの$widget-gtidあたりにそれらしい事が書いてあるような気
が
>します。

と、自分で書いておきながら、使い方がわからずに困っていました。

$widget->gtid

で使ってみても、「そんなのありません。」と怒られてしまうので
ベースクラスって意味を僕が取り違えているのかと思ってましたが、
オリジナルのPodを見て疑問が氷解しました。

$widget->id

でした。 「gt」って部分は多分、「>」を「>」に変換ミスしているみたいで
す。

オリジナルのPodに対して、pod2htmlを使っても、誤変換されます。

これが、pod2htmlのバグなのか、Widget.podの書式が間違っ
ているのかは
まだ追いきれていませんが、原因が分かったら、これって誰に報告すれば良いの
でしょうか?

とりあえず、保留にして、松本さんに教えて頂いたhwndの取得と比べあわせ
て見ました。


use Tk;
use Win32::GUI;

my ($mw);
$mw = new MainWindow;
$mw->title("neko");

my $id = $mw->id;	#add By harada
print hex($id), "\n";	#add By harada

$mw->after(200,\&start);
MainLoop;

sub start
{
   my ($desktop,$window,$title);
   $desktop = GUI::GetDesktopWindow();

   $window = GUI::GetWindow($desktop, GW_CHILD);
   while($window) {
       $title = GUI::Text($window);
       printf("%16d: %s\n", $window, $title) if $title eq "neko";
       $window = GUI::GetWindow($window, GW_HWNDNEXT);
   }  
}

これで実行してみると・・・・・。

「よし!!バッチリ値が違っている!!」

・・・・・・・・な、何で??(笑)


-- 

---------------------------------------
Goichi Harada
E-mail  goichi @ mb.kcom.ne.jp



Tokyo-pm メーリングリストの案内