>PUBLIC oform1 > >oform1=NEWOBJECT("form1") >oform1.Show > > >DEFINE CLASS form1 AS form > > AutoCenter = .T. > Caption = "Form1" > > ADD OBJECT lb AS label WITH ; > Left = 109 ; > ,Top = 65; > ,Width = 40; > ,Caption = "Click"; > ,Alignment = 1; > ,AutoSize = .T. > > > > ADD OBJECT text1 AS textbox WITH ; > Height = 24, ; > Left = 157, ; > Top = 61, ; > Width = 111 > > > PROCEDURE lb.Click > this.Caption = this.Caption + 'a' > ACTIVATE SCREEN > * Right value into the graphic buffer still fixed ! > ? this.Left+this.Width ,OBJTOCLIENT(this,2)+OBJTOCLIENT(this,3) > ENDPROC > >ENDDEFINE >Wow... how did you dig this? And since this works as it does, why are we having this thread in the first place? Mike should have seen the labels behaving properly (at least visually - the .left doesn't seem to change while the left edge of the label actually moves) and wouldn't complain. So, I wonder what could be different from your example, that created the problem we're talking about.