当前位置: 首页 > news >正文

fastreport在windows11(lazarus)报表设计时出现的问题

fastreport在windows11(lazarus)报表设计时出现的问题

fastreport在windows11(lazarus)报表设计时,如果文本框的宽度小于文本框内容的宽度时,鼠标在上面停放一会,会弹出以下错误信息:

92466113e2e696d6193b800d60237454

经排查发现是fr使用自定义hint引起的,这次修复只是治标,没从问题源头修复。

打开FastReport\FPC\Sources\frxDesgnWorkspace.pas,找到procedure TfrxDesignerWorkspace.RealHintShow(var Msg: TCMHintShow),然后按红色代码修改:
procedure TfrxDesignerWorkspace.RealHintShow(var Msg: TCMHintShow);
varHeader, PropText: String;HMemoView: TfrxCustomMemoView;
beginif not (FLastObjectOver is TfrxCustomMemoView) then Exit;HMemoView := TfrxCustomMemoView(FLastObjectOver);if HMemoView.HasOutboundContent thenbeginHeader := frxResources.Get('obText');PropText := HMemoView.Text;    Msg.HintInfo.HintStr :={$ifdef fpc} Header + LineEnding + {$endif}PropText;{$ifndef fpc}Msg.HintInfo.HintWindowClass := TDesgnHintWindow;{$endif}Msg.HintInfo.HintData := TDesgnHintData.Create('', Header, False, HMemoView);Msg.HintInfo.HideTimeout := MaxInt;end;
end;

修改后重新编译就可以正常显示hint:

QQ_1774918771969

如果你有更好的修改方法,希望能我和分享,谢谢!