1) I calculate its width in pixels and check if it overlaps with other objects.
2) Then looks like 1. Looping is fast. I do that for all captions on a form and it shows instantly (unless there is some binding causing it to slow down).
Cetin
>Hi Cetin,
>
>to point 1
>
>How do you know if it fits?, anyway, Font* is not subject to change.
>
>to point 2
>MAXLEN depends on the characters used. (iiii <> mmmm) (IOW: I know MaxLen in Pixels, not in chars)
>I know how to calculate the lenght of a string, but this would mean to do a backward loop until it fits (what I try to avoid)
>
>Agnes
>>>Cetin,
>>>
>>>my failure.
>>>
>>>What I mean was Trim as the report does, like trim to the nearest word or adding eclipsis.
>>>
>>>Agnes
>>>>>Hi All,
>>>>>
>>>>>I have a problem with captions on a check box (or with anything with a caption)
>>>>>
>>>>>The object is off fixed length (Autosize=.f., WordWrap=.F.), but the caption may be altered by user input (user may change field captions). Now sometimes the caption is to long. I would like to do something like clipping as the report does. For now I see nothing then running backwards through the string until it fits (via TXTWIDTH) , but that feels so clumsy.
>>>>>
>>>>>Any better ideas?
>>>>>
>>>>>Agnes
>>>>
>>>>If autosize = .f. it does the clipping by default, no?
>>>>Cetin
>>
>>I see. I do 2 things:
>>1) Calculate the width and decrease fontsize till it fits.
>>2) Trim adding ...:
>>
>>if len(m.lcString) > MAXLEN
>> lcString = left(m.lcString, MAXLEN-3) + '...'
>>endif
Cetin