optiongroup 控件示例

下面的示例创建了 optiongroup 控制并把它放置在表单上。这个 optiongroup 控制有三个按钮,根据您单击的选项按钮,分别显示圆、椭圆或正方形。利用 buttons 属性和 caption 属性指定每个选项按钮参边显示的文本。使用 shape 控制创建圆、椭圆和正方形。optiongroup 控制的 click 事件使用 do case ... endcease 结构以及 value 属性,在单击选项按钮时显示相应的形状。

frmmyform = createobject('form') &&创建表单
frmmyform.closable = .f. && 废止“控制”菜单框

frmmyform.addobject('cmdcommand1','cmdmycmndbtn') &&添加“命令”按钮
frmmyform.addobject('opgoptiongroup1','opgmyoptgrp') && 添加“选项”组
frmmyform.addobject('shpcircle1','shpmycircle') && 添加圆形
frmmyform.addobject('shpellipse1','shpmyellipse') && 添加椭圆
frmmyform.addobject('shpsquare','shpmysquare') && 添加正方形

frmmyform.cmdcommand1.visible =.t. && “退出”命令按钮可见

frmmyform.opgoptiongroup1.buttons(1).caption = "\<circle"

frmmyform.opgoptiongroup1.buttons(2).caption = "\<ellipse"
frmmyform.opgoptiongroup1.buttons(3).caption = "\<square"
frmmyform.opgoptiongroup1.setall("width", 100) && 设置选项组的宽度
frmmyform.opgoptiongroup1.visible = .t. && 使选项组可见
frmmyform.opgoptiongroup1.click && 显示圆

frmmyform.show && 显示表单
read events && 开始进行事件处理

define class opgmyoptgrp as optiongroup && 创建选项组
buttoncount = 3 && 三个选项按钮
top = 10
left = 10
height = 75
width = 100

procedure click 
thisform.shpcircle1.visible = .f. && 隐藏圆

thisform.shpellipse1.visible = .f. && 隐藏椭圆
thisform.shpsquare.visible = .f. && 隐藏正方形

do case
case thisform.opgoptiongroup1.value = 1
thisform.shpcircle1.visible = .t. && 显示圆
case thisform.opgoptiongroup1.value = 2 
thisform.shpellipse1.visible = .t. && 显示椭圆
case thisform.opgoptiongroup1.value = 3 
thisform.shpsquare.visible = .t. && 显示正方形
endcase
enddefine

define class cmdmycmndbtn as commandbutton && 创建“命令”按钮
caption = '\<quit' && “命令”按钮上的标题
cancel = .t. && 默认“取消”命令按钮(esc)
left = 125 && 按钮的列
top = 210 && “命令”按钮的行
height = 25 && “命令”按钮的高度

procedure click
clear events && 终止事件处理,关闭表单
enddefine

define class shpmycircle as shape && 创建一个圆
top = 10
left = 200
width = 100
height = 100
curvature = 99
backcolor = rgb(255,0,0) &&红色
enddefine

define class shpmyellipse as shape && 创建一个椭圆

top = 35
left = 200
width = 100
height = 50
curvature = 99
backcolor = rgb(0,128,0) &&绿色
enddefine

define class shpmysquare as shape && 创建一个正方形
top = 10
left = 200
width = 100
height = 100
curvature = 0
backcolor = rgb(0,0,255) &&篮色
enddefine