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