* Set HintMaxWidth for multiline hints

git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@967 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
blikblum
2009-10-02 20:58:38 +00:00
parent fd94d08b05
commit e370cfcea2

View File

@ -16303,6 +16303,7 @@ begin
// from the node or from the DefaultHint // from the node or from the DefaultHint
if ShowOwnHint and (Result = 0) then if ShowOwnHint and (Result = 0) then
begin begin
FHintData.LineBreakStyle := hlbDefault;
FLastHintRect := CursorRect; FLastHintRect := CursorRect;
if Length(FHintData.DefaultHint) > 0 then if Length(FHintData.DefaultHint) > 0 then
HintStr := FHintData.DefaultHint HintStr := FHintData.DefaultHint
@ -16311,6 +16312,16 @@ begin
HintStr := DoGetNodeToolTip(HitInfo.HitNode, HitInfo.HitColumn, FHintData.LineBreakStyle) HintStr := DoGetNodeToolTip(HitInfo.HitNode, HitInfo.HitColumn, FHintData.LineBreakStyle)
else else
HintStr := DoGetNodeHint(HitInfo.HitNode, HitInfo.HitColumn, FHintData.LineBreakStyle); HintStr := DoGetNodeHint(HitInfo.HitNode, HitInfo.HitColumn, FHintData.LineBreakStyle);
// Determine actual line break style depending on what was returned by the methods and what's in the node.
if (FHintData.LineBreakStyle = hlbDefault) and (vsMultiline in HitInfo.HitNode.States) then
FHintData.LineBreakStyle := hlbForceMultiLine;
if FHintData.LineBreakStyle = hlbForceMultiLine then
begin
// NodeRect is already calculated for ToolTip
if FHintMode <> hmTooltip then
NodeRect := GetDisplayRect(HitInfo.HitNode, HitInfo.HitColumn, True, False);
HintMaxWidth := NodeRect.Right - NodeRect.Left;
end;
end end
else else
FLastHintRect := Rect(0, 0, 0, 0); FLastHintRect := Rect(0, 0, 0, 0);