首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > VFP >

vfp经过程序创建表单,添加OptionGroup无法修改caption

2013-01-18 
vfp通过程序创建表单,添加OptionGroup无法修改captionDefine Class form1 As FormTop 0Left 0Height

vfp通过程序创建表单,添加OptionGroup无法修改caption
Define Class form1 As Form
 
    Top = 0
    Left = 0
    Height = 600
    Width = 1000
    DoCreate = .T.
    Caption = "Form1"
    Name = "Form1"
    AutoCenter = .T.

  Add Object optiongroup1 As OptionGroup With ;     
        Buttoncount = 5, ;
        Left = 24, ;
        Top = 60, ;
        Visible = .T., ;
        Width = 300, ;
        height = 300, ;
        Name = "optiongroup1"

  Procedure Init
        thisform.optiongroup1.option1.Caption = 'xxxxx'
        thisform.optiongroup1.option2.Caption = 'xxxxx'
    Endproc

这里的optiongroup1 里的option1的caption属性无法修改,请问原因是什么呢?谢谢。
[解决办法]

FORM1 = NEWOBJECT("C_FORM")
FORM1.SHOW
READ EVENTS
RETURN 
DEFINE CLASS C_FORM AS FORM 
   AUTOCENTER=.T.
   CAPTION="表单查询示例"
   SHOWTIPS=.T.
   ADD OBJECT COMMAND1 AS COMMANDBUTTON WITH TOP=6,LEFT=290,HEIGHT=28,CAPTION="表格重置",AUTOSIZE=.T.
   ADD OBJECT OPTIONGROUP1 AS OPTIONGROUP WITH TOP=6,LEFT=10,HEIGHT=28,BUTTONCOUNT=2,AUTOSIZE=.T.
   ADD OBJECT GRID1 AS GRID WITH TOP=((THISFORM.HEIGHT-THISFORM.GRID1.HEIGHT)/2)+20,LEFT=(THISFORM.WIDTH-THISFORM.GRID1.WIDTH)/2
   
   PROCEDURE COMMAND1.CLICK
       SET FILTER TO 
       FORM1.GRID1.REFRESH
       FORM1.OPTIONGROUP1.VALUE=0
   ENDPROC
   PROCEDURE OPTIONGROUP1.INIT 
      WITH THIS
         .VALUE=0
         .OPTION2.TOP=.OPTION1.TOP
         .OPTION2.LEFT=.OPTION1.WIDTH+29
         FOR I=1 TO THIS.BUTTONCOUNT
             .BUTTONS(I).AUTOSIZE=.T.
             .BUTTONS(I).CAPTION=IIF(MOD(I,2)=1,"男","女")
         ENDFOR
      ENDWITH
   ENDPROC
   
   PROCEDURE OPTIONGROUP1.CLICK
      SET FILTER TO TABNAME.性别==FORM1.OPTIONGROUP1.BUTTONS(FORM1.OPTIONGROUP1.VALUE).CAPTION
      FORM1.GRID1.REFRESH
   ENDPROC
   PROCEDURE GRID1.INIT


      CREATE CURSOR TABNAME (XM C(10),性别 C(2))
      FOR I=1 TO  10
          INSERT INTO TABNAME VALUES (REPLICATE(CHR(64+I),10),IIF(MOD(I,2)=0,"男","女"))
      ENDFOR
      GO TOP
      WITH THIS
         .FONTSIZE=10
         .HEADERHEIGHT=28
         .RECORDSOURCETYPE = 1
         .RECORDSOURCE = "TABNAME"
         .ROWHEIGHT=24
*         .THEMES = .F.
         FOR I = 1 TO .COLUMNCOUNT
             WITH .COLUMNS(I).HEADER1
                  .ALIGNMENT=2
                  .BACKCOLOR = RGB(0,0, 255)
                  .FORECOLOR = RGB(255,255,255)
             ENDWITH
         ENDFOR
      ENDWITH
   ThisForm.ShowTips = .T.
*ThisForm.Grid1.AllowCellSelection = .T.

   ENDPROC
   PROCEDURE DESTROY
      CLEAR EVENTS
   ENDPROC
ENDDEFINE


[解决办法]
Public oform1
oform1 = Newobject("form1")
oform1.Show
Return

Define Class form1 As Form

Top = 0
Left = 0
Height = 600
Width = 1000
DoCreate = .T.
Caption = "Form1"
Name = "Form1"
AutoCenter = .T.

Add Object optiongroup1 As OptionGroup With ;
Buttoncount = 5, ;
Left = 24, ;
Top = 60, ;
Visible = .T., ;
Width = 300, ;
height = 300, ;
Name = "optiongroup1"

Procedure Init
Thisform.optiongroup1.option1.Caption = 'xxxxx'
Thisform.optiongroup1.option2.Caption = 'YYYYY'
Thisform.optiongroup1.option1.AutoSize=.T.
Thisform.optiongroup1.option2.AutoSize=.T.
EndProc

Enddefine

热点排行