Page 1 of 1
Dialog - Readonly
Posted: Thu Jul 13, 2006 1:12 pm
by Jeff Barnes
Hi Everybody,
Is there a way to set all the gets in a dialog to readonly then with a click of a button allow editing?
Thanks.
Jeff
Posted: Thu Jul 13, 2006 2:09 pm
by Detlef Hoefner
Hi Jeff,
you could use a when clause.
... oGet ... WHEN lEdit
Your button could then switch this flag like
... BUTTON ... ACTION ( lEdit := !lEdit, oDlg:AevalWhen() )
May be this could help?
Regards,
Detlef
Posted: Thu Jul 13, 2006 2:30 pm
by Gale FORd
FUNCTION OnOff( oDlg, lOn )
DEFAULT lOn := .t.
FOR nI := 1 TO LEN( oDlg:aControls )
IF oDlg:aControls[ nI ]:ClassName() = "TGET" .or. oDlg:aControls[ nI ]:ClassName() = "TCHECKBOX" // etc
IF lOn
oDlg:aControls[ nI ]:Enable()
ELSE
oDlg:aControls[ nI ]:Disable()
ENDIF
ENDIF
IF oDlg:aControls[ nI ]:ClassName() = "TFOLDER"
FOR nIFold := 1 TO LEN( oDlg:aControls[ nI ]:aDialogs )
FOR nFoldI := 1 TO LEN( oDlg:aControls[ nI ]:aDialogs[ nIFold ]:aControls )
IF oDlg:aControls[ nI ]:aDialogs[ nIFold ]:aControls[ nFoldI ]:ClassName() = "TGET" .or. ;
oDlg:aControls[ nI ]:aDialogs[ nIFold ]:aControls[ nFoldI ]:ClassName() = "TCHECKBOX" // etc
IF lOn
oDlg:aControls[ nI ]:aDialogs[ nIFold ]:aControls[ nFoldI ]:enable()
ELSE
oDlg:aControls[ nI ]:aDialogs[ nIFold ]:aControls[ nFoldI ]:disable()
ENDIF
ENDIF
NEXT
NEXT
ENDIF
NEXT
RETURN nil
Posted: Thu Jul 13, 2006 5:53 pm
by Jeff Barnes
Thanks Gale / Detlef,
I came to the same solution as Detlef. Works perfectly.
Thanks again.
Jeff