closable 属性示例

下面示例演示了如何使用 Closable 属性禁止用窗口弹出菜单关闭表单。表单的Closable 属性设置为“假”(.F.),禁止用窗口弹出菜单关闭表单。若表单的 closable 属性已经设置为“真”(.T.),并且已用窗口弹出菜单关闭了此表单,则必须执行 CLEAR EVENTS 终止事件处理,并退出程序。

frmmyform = createobject('form')  && 创建一个表单
frmmyform.closable = .f.  && 使控件菜单框无效
                          && 并关闭按钮
frmmyform.addobject('shpline','line')  && 向表单添加一个 Line 控件
frmmyform.addobject('cmdcmndbtn1','cmdmycmndbtn1')  && Up 命令按钮
frmmyform.addobject('cmdcmndbtn2','cmdmycmndbtn2')  && Down 命令按钮
frmmyform.addobject('cmdcmndbtn3','cmdmycmndbtn3')  && Quit 命令按钮
frmmyform.shpline.visible = .t.  && 使 Line 控件可见
frmmyform.shpline.top = 20  && 指定 Line 控件所在行
frmmyform.shpline.left = 125  && 指定 Line 控件所在列
frmmyform.cmdcmndbtn1.visible =.t.  && Up 命令按钮可见
frmmyform.cmdcmndbtn2.visible =.t.  && Down 命令按钮可见
frmmyform.cmdcmndbtn3.visible =.t.  && Quit 命令按钮可见
frmmyform.show  && 显示表单
read events  && 开始事件处理
define class cmdmycmndbtn1 as commandbutton  && 创建命令按钮
   caption = 'slant \<up'  && 命令按钮标题
   left = 50  && 命令按钮所在列
   top = 100  && 命令按钮所在行
   height = 25  && 命令按钮高度
   
   procedure click
      thisform.shpline.visible = .f.  && 隐藏 Line 控件
      thisform.shpline.lineslant ='/'  && 向上倾斜
      thisform.shpline.visible = .t.  && 显示 Line 控件
enddefine
define class cmdmycmndbtn2 as commandbutton  && 创建命令按钮
   caption = 'slant \<down'  && 命令按钮标题
   left = 200  && 命令按钮所在列
   top = 100  && 命令按钮所在行
   height = 25  && 命令按钮高度
   procedure click
      thisform.shpline.visible = .f.  && 隐藏 Line 控件
      thisform.shpline.lineslant ='\'  && 向下倾斜
      thisform.shpline.visible = .t.  && 显示 Line 控件
enddefine
define class cmdmycmndbtn3 as commandbutton  && 创建命令按钮
   caption = '\<quit'  && 命令按钮标题
   cancel = .t.  && 默认取消命令(Esc)
   left = 125  && 命令按钮所在列
   top = 150  && 命令按钮所在行
   height = 25  && 命令按钮高度
   procedure click
      clear events  && 停止事件处理, 关闭表单
enddefine