********************************************* CLEAR DO _cleanup WITH _screen .ShowTips = .T. .AddObject( "oCommand","cCommandButton" ) .oCommand.Caption = "Test" .oCommand.ToolTipText = "ToolTip Test" .oCommand.Left = 10 .oCommand.Top = 10 .oCommand.Height = 17 .oCommand.Visible = .T. .AddObject( "oText","TextBox" ) .oText.Left = 10 .oText.Top = 50 .oText.Visible = .T. .AddObject( "oTimer","cTimer" ) ENDWITH DEFINE CLASS cTimer AS Timer PROCEDURE Timer * WEXIST is seeing the actual ToolTipText as a Window !!!! IF WEXIST( "ToolTip Test" ) && ToolTipText _screen.oText.Value = "ToolTip Visible" ELSE _screen.oText.Value = "Not Visible" ENDIF ENDPROC Interval = 300 ENDDEFINE DEFINE CLASS cCommandButton AS CommandButton PROCEDURE Click DO _cleanup ENDDEFINE PROCEDURE _cleanup IF VARTYPE( _screen.oCommand ) = "O" _screen.RemoveObject('oCommand') ENDIF IF VARTYPE( _screen.oText ) = "O" _screen.RemoveObject('oText') ENDIF IF VARTYPE( _screen.oTimer ) = "O" _screen.RemoveObject('oTimer') ENDIF ENDPROC **************************************************