visualurubyでダイアログ上に配置したVRListViewのダブルクリックイベントを拾う方法をメモします。
下のサンプルコードを実行すると、上のようなダイアログが表示されます。
リストビュー上をダブルクリックするか、ボタンを押すとメッセージボックスが表示されます。
-
|
サンプルコード |
require 'vr/vrdialog'
require 'vr/vrcontrol'
require 'vr/vrcomctl'
class FileSelectDialog < VRModalDialog
include VRContainersSet
def construct
self.caption = 'ファイル選択'
self.move(348,128,500,400)
addControl(VRListview,'listview',"listview",16,16,456,296,1342177281)
addControl(VRButton,'ok',"OK",288,328,80,24,1342177280)
end
def listview_dblclicked
messageBox("dblclicked")
end
def ok_clicked
messageBox("ok")
end
end
VRLocalScreen.modalform(nil,nil,FileSelectDialog,nil,nil)
|
コード上のポイントは、VRContainersSetをincludeしていることです。
これがないとリストビュー上をダブルクリックしてもメッセージボックスは表示されません(ボタンは表示されます)。
フォームではincludeしなくてもメッセージボックスが表示されますが、ダイアログではincludeする必要があるようです。
なお、VRContainerSetは、「とりあえず全部」イベント受信するモジュールらしいので、ダブルクリックイベントを拾うだけならもっと的確なモジュールがあるかもしれません。
最終更新:2009年09月30日 07:52