From: Kikutani Makoto Date: 1998-01-22T00:34:41+09:00 Subject: [ruby-list:5953] Re: How to use TkMenu ? きくたにです。 Wed, Jan 21, 1998 at 06:42:43PM +0900 において Yukihiro Matsumoto さん曰く: > すいませんねえ.TkMenuをつくる時のコツは > > * menubarよりmenuを先に作る > > ことです.実際のプログラムは以下のような感じです. (snip) > うちはtkのバージョンが低いので . configure -menu というのが > ないんですが,たぶんこれでいくと思います. なるほど。 tk8.0でこのあたりが随分違っているのですね。 家のほうはtk4.2なので、明日会社の環境で試してみます。 で、tk4.2のほうの該当サンプル(demo/widget)では --------------------------- frame .menuBar pack .menuBar -side top -fill x menubutton .menuBar.file -text File -menu .menuBar.file.m -underline 0 menu .menuBar.file.m .menuBar.file.m add command -label "About ... " -command "aboutBox" \ -underline 0 -accelerator "" .menuBar.file.m add sep .menuBar.file.m add command -label "Quit" -command "exit" -underline 0 pack .menuBar.file -side left bind . aboutBox --------------------------- になっているので --------------------------- require "tk" def about TkWarning.new('About what?') end $menuBar_file_m = TkMenu.new($menuBar_file) $menuBar_file = TkMenubutton.new($menuBar, 'text'=>'File', 'menu'=>$menuBar_file_m, 'underline'=>0) $menuBar = TkFrame.new $menuBar.pack('side'=>'top', 'fill'=>'x') $menuBar_file_m.add('command', 'label'=>'About...', 'command'=>proc{about}, 'underline'=>0, 'accelerator'=>'') $menuBar_file_m.add('sep') $menuBar_file_m.add('command', 'label'=>'Quit', 'command'=>proc{exit}, 'underline'=>0) $menuBar_file.pack('side'=>'left') Tk.root.bind('F1', proc{about}) Tk.mainloop --------------------------- としてみましたが、どうもうまく動きません。メニューは難しい... -- 人生を背負い投げ 菊谷 誠(Kikutani Makoto) kikutani@eis.or.jp hgf03701@niftyserve.or.jp http://www.eis.or.jp/muse/kikutani/