>loForm = CREATEOBJECT('myForm') >loForm.Show(1) > >define class myForm as Form > add object myContainer as Container with width = 120, height = 25, border = 0 > add object myButton as CommandButton with Caption = 'Refresh', left = 2, top = 40 > > procedure myButton.Click() as VOID > thisform.Refresh() > return null > endproc > > function init() as Boolean > local lnCount > for lnCount = 1 to 10 > lcName = SYS(2015) > thisform.myContainer.newobject(lcName, 'myOtherContainer') > with getpem(thisform.myContainer,lcName) > .Width = 10 > .Height = 14 > .Left = 2 + (lnCount - 1) * .Width > .Top = 2 > .Visible = .t. > endwith > next lnCount > return .t. > endfunc >enddefine > >define class myOtherContainer as Container > add object myLabel as label with Caption = '*', left = 1, top = 1, border=0 > procedure Refresh() as VOID > this.myLabel.Caption = IIF(this.myLabel.Caption = '*', 'I', 'R') > this.ZOrder(0) > return null > endproc >enddefine >If I remember correctly, Label.Caption in some cases is not drawn.
>define class myOtherContainer as Container > add object myLabel as label with Caption = '*', left = 1, top = 1, border=0 > procedure Refresh() as VOID > this.myLabel.Caption = IIF(this.myLabel.Caption = '*', 'I', 'R') > Container::Refresh > endproc >enddefine >