Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
How to determine a wrapped word label's height?
Message
From
22/09/2006 15:48:59
Mike Sue-Ping
Cambridge, Ontario, Canada
 
General information
Forum:
Visual FoxPro
Category:
Coding, syntax & commands
Environment versions
Visual FoxPro:
VFP 9 SP1
Miscellaneous
Thread ID:
01155729
Message ID:
01156610
Views:
28
>>>>Does anyone know if it is possible to determine the correct height of a label such that all wrapped text (ie all lines) are visible?
>>>>
>>>>For example, if my label's caption is, "This is a very long caption which has word wrap set on..." and I set word wrap to .T. and anchor it such that it stretches horizontally, how can I programatically determine the label's height in order to show the full caption (when it wraps).
>>>>
>>>>TIA
>>>>Mike
>>>
>>>I don't think you need to calculate the height. You just need to set the width to a firm number and set the label's AutoSize to .T.
>>
>>You are correct. My situation, however, is that I have a label in a container. The label's height does indeed get automatically determined, but I cannot get the container's height to adjust accordingly.
>>
>>In my Init of the container, I set the label's AutoSize to .T., WordWrap to .T. and Caption. Immediately after this, I set the container's height to the label's height, but it does not adjust (grow taller with the label). If I put code in the container's Resize to set its height to the label's height then things look fine. If I put code in the container's Init to call the container's Resize event, nothing happens and the label appears chopped off.
>>
>>Do you have any idea how I can have the container adjust its height to the label's height.
>
>That's easy. Just store the height of the label before you change the caption and then check it afterwards. The difference is how much you need to change the height of the caption.
>
>lnBefore = This.lblStuff.Height
>This.lblStuff.Caption = New Caption
>lnAfter = This.lblStuff.Height
>This.Height = This.Height+(lnAfter-lnBefore)
>
Yeah, I though it was easy too. The problem that I'm having is that I set the container's height to be that of the label's wordwrapped height, but visually it does not resize from the container's Init. If I anchor the container's ends so that it stretches with the form and I put code in the resize of the container to set it's height to the label's height does it then show correctly. I need it to show this behavior on it init and not rely on resizing to correct it.

Don't know if i've explained myself clearly here :)
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform