2007. december 1., szombat
Get the correct height of a TDBText
Problem/Question/Abstract:
I have a TDBText with WordWrap = True and it is anchored to the left and right of the form. As the form resizes, the height of the TDBText changes. Is there any way of knowing the height of the TDBText? TDBText.Height doesn't return the correct value.
Answer:
TDBText is a descendant of TCustomLabel, so this should work:
{ ... }
type
TLabelCracker = class(TCustomLabel)
end;
function LabelTextHeight(ALabel: TCustomLabel): Integer;
const
WordWraps: array[Boolean] of Word = (0, DT_WORDBREAK);
var
Rect: TRect;
begin
Rect := ALabel.ClientRect;
TLabelCracker(ALabel).DoDrawText(Rect, (DT_EXPANDTABS or DT_CALCRECT) or
WordWraps[TLabelCracker(ALabel).WordWrap]);
Result := Rect.Bottom - Rect.Top;
end;
Feliratkozás:
Megjegyzések küldése (Atom)
Nincsenek megjegyzések:
Megjegyzés küldése