这个问题众所周知,但我还没有找到解决方案。
每当窗口中的fon-size设置为高于正常大小
时报告相对于纸张尺寸缩小,
并锚定到页面的左上角,如下所示:
切换"缩放"任何地方开启或关闭的财产都不会影响这一点。
正如搞乱PixelsPerInch。
我见过的唯一解决方案,实际上是做了什么,
可以在quickreport论坛中找到,在这个链接就在这里:
QrPreview with UseDpiScaling under Windows7,
涉及创建新的项目清单资源,向其添加以下行:
<application xmlns="urn:schemas-microsoft-com:asm.v3">
<windowsSettings>
<dpiAware xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">true</dpiAware>
</windowsSettings>
</application>
</assembly>
然而,这样做的唯一方法是使报告中的文字更大,
报告保持在同一边界内,如下图所示:
可以做些什么?
我需要报告以适应论文的大小,
以与设计相同的方式显示和打印,无论Windows字体大小
答案 0 :(得分:0)
我找到了一个有效的解决方案! QRPrntr.pas的补丁:
procedure TQRPrinter.CreateMetafileCanvas;
function scaleToNativeDeskRes(pVal: Integer): Integer;
var
tTemp: HDC;
begin
tTemp := GetDC(0);
try
Result := Round((pVal * GetDeviceCaps(tTemp, VERTRES)) / GetDeviceCaps(tTemp, DESKTOPVERTRES));
finally
ReleaseDC(0, tTemp);
end;
end;
begin
...
FMetafile.Width := scaleToNativeDeskRes(XSize(PaperWidthValue));
FMetafile.Height := scaleToNativeDeskRes(YSize(PaperLengthValue));
FCanvas := TMetafileCanvas.Create(FMetafile, 0);
FCanvas.Font.PixelsPerInch := MetafileDPI;
...
end;