memopad.rb

require 'vr/vruby'
require 'vr/vrcontrol'

module Frm_mainform
  include VRMenuUseable if defined? VRMenuUseable
  include VRResizeSensitive

  def _mainform_init
    self.caption = 'メモ帳(偽)'
    self.move(225,157,637,480)
    @mainmenu1 = newMenu.set(
        [
          ["ファイル(&F)",[
            ["新規(&N)", "new"],
            ["開く(&O)", "open"],
            ["保存(&S)", "save"],
            ["名前を付けて保存(&A)", "saveas"],
            ["sep", "_vrmenusep", 2048],
            ["閉じる(&X)", "exit"]]
          ],
          ["編集(&E)",[
            ["削除(&D)", "doDelete"],
            ["切り取り(&T)", "cut"],
            ["コピー(&C)", "copy"],
            ["ペースト(&P)", "paste"]]
          ],
          ["ヘルプ(&H)",[
            ["バージョン情報(&A)", "version"]]
          ]
        ]
      )
    setMenu(@mainmenu1,true)
    #$_ctn_mainmenu1=[0,0]
    addControl(VRText,'textarea',"",0,0,632,440,1342177348)
    @deffont = @screen.factory.newfont("MS ゴシック", 16)
    @textarea.setFont(@deffont)
  end
  
  def construct
    _mainform_init
  end 
  
  def save_cur_size
    @form_w = self.w
    @form_h = self.h
  end
  
  def self_created
    save_cur_size
  end
  
  def self_resize(w, h)
    return if @textarea.nil?
    tx = @textarea.x
    ty = @textarea.y
    tw = @textarea.w
    th = @textarea.h
    tw -= @form_w - self.w
    th -= @form_h - self.h
    @textarea.move(tx, ty, tw, th)
    save_cur_size
  end
end
  
  VRLocalScreen.start(Frm_mainform)