From: Hidetoshi NAGAI Date: 2006-06-05T03:45:07+09:00 Subject: [ruby-list:42358] Re: TkCanvasの座標 永井@知能.九工大です. まず最初に,scrollregion は [0,0,201,201] とすべきでしたね. ごめんなさい. で,本題ですが, From: Masato Ishimoto Subject: [ruby-list:42357] Re: TkCanvasの座標 Date: Sun, 4 Jun 2006 17:56:14 +0900 Message-ID: >  2につきましては、アドバイスいただいたコードでも状況は変わりま > せんでした。 > >  具体的には、提示いただいたコードによって、 > > ・x座標の表示は改善され、左端の縦線も表示されるようになっ > た。 > ・しかし、y座標は相変わらずずれたまま。y座標を > 0に設定すると線が表示されない。 > ・y座標の値を1にすると線が表示される。これにカーソル > を乗せると、y座標は0。 > > という状況です。これは一体・・・? x_line = TkcLine.new(canvas, 0, 1, 200, 1) で描画した線の上に カーソルをきちんと重ねたにもかかわらず, y 座標が 0.0 と表示されるということでしょうか? 同様に x_line2 = TkcLine.new(canvas, 0, 50, 200, 50) としたとしたら カーソルをきちんと重ねた場合に y 座標が 49.0 と 表示されるということでしょうか? だとすると,これは奇妙な状況です. 間違いなくその通りなら,Tcl/Tk 上の問題かもしれません. 念のため,scrollregion を [0, 0, 201, 201] とした上で canvas.bind('Motion', proc{|x, y| enx.text = "#{x}:#{xp=canvas.canvasx(x)}" eny.text = "#{y}:#{yp=canvas.canvasx(y)}" },'%x %y' ) などとして確認してみていただけないでしょうか. ついでに Tk::TK_PATCHLEVEL の値もいただけると嬉しいです. -- 永井 秀利 (九工大 知能情報) nagai@ai.kyutech.ac.jp