This.Caption = ShrinkMe("MyLongString", This) Funct ShrinkMe LPARA ; NewString, ; ObjPointer LOCAL ; ReturnValue, ; OldFontName, ; OldFontBold, ; OldFontSize, ; OldFontItalic, ; i ReturnValue = NewString OldFontName = _SCREEN.FONTNAME OldFontBold = _SCREEN.FONTBOLD OldFontSize = _SCREEN.FONTSIZE OldFontItalic = _SCREEN.FONTITALIC _SCREEN.FONTNAME = ObjPointer.FONTNAME _SCREEN.FONTBOLD = ObjPointer.FONTBOLD _SCREEN.FONTSIZE = ObjPointer.FONTSIZE _SCREEN.FONTITALIC = ObjPointer.FONTITALIC IF _SCREEN.TEXTWIDTH(NewString) > ObjPointer.WIDTH * *** need to shrink the string FOR i=LEN(NewString)-3 TO 1 STEP -1 ReturnValue = SUBS(NewString, 1, i) + "..." IF _SCREEN.TEXTWIDTH(ReturnValue) <= ObjPointer.WIDTH EXIT ENDIF ENDFOR ENDIF _SCREEN.FONTNAME = OldFontName _SCREEN.FONTBOLD = OldFontBold _SCREEN.FONTSIZE = OldFontSize _SCREEN.FONTITALIC = OldFontItalic * *** cleanup RETURN(ReturnValue) EndFunchope this helps