【问题标题】:VFP Reports cutoff with display scaling > 100%VFP 报告显示缩放 > 100% 的截止值
【发布时间】:2021-05-10 20:52:41
【问题描述】:

当在 VFP 中打印/预览报表并且显示比例 > 100% 时,报表预览会放大,但“纸张大小”不会,这会导致报表被截断。注意:图片周围的灰色区域是表示“纸张”大小的预览背景。

我尝试了一个自定义清单,将 dpiAware 设置为 true。

<application xmlns="urn:schemas-microsoft-com:asm.v3">
    <windowsSettings>
        <dpiAware xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">True</dpiAware>
    </windowsSettings>
</application>

我尝试使用 API 进行设置。

DECLARE INTEGER SetProcessDPIAware in WIN32API
=SetProcessDPIAware()

似乎唯一可行的方法是覆盖快捷方式中的高 DPI 缩放。问题是该应用程序在笔记本电脑上使用,屏幕很小,所以表单太小,客户不喜欢这种解决方案。

某处,我读到 FoxyPreviewer 提交了该问题,但不是(不适合我)。我不记得在哪里看到了。

我在 Windows 10 Build 17134 上运行。VFP9 SP2。

【问题讨论】:

    标签: report display scaling visual-foxpro


    【解决方案1】:

    将以下清单另存为 exeName+".exe.manifest" 在您的项目文件夹中。 (VFP9 Sp2 将在 exe 生成时包含它。)

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
        <assemblyIdentity version="1.0.0.0" type="win32" name="Microsoft.VisualFoxPro" processorArchitecture="x86" />
        <description>Visual FoxPro 9 application</description>
        <trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
            <security>
                <requestedPrivileges>
                    <requestedExecutionLevel level="asInvoker" />
                </requestedPrivileges>
            </security>
        </trustInfo>
        <application xmlns="urn:schemas-microsoft-com:asm.v3">
            <windowsSettings>
                <dpiAware xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">True</dpiAware>
            </windowsSettings>
        </application>
        <dependency>
            <dependentAssembly>
                <assemblyIdentity type="win32" name="Microsoft.Windows.Common-Controls" version="6.0.0.0" language="*" processorArchitecture="x86" publicKeyToken="6595b64144ccf1df" />
            </dependentAssembly>
        </dependency>
    
    
        <compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1"> 
            <application> 
                <!-- Windows 10 --> 
                <supportedOS Id="{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}"/>
                <!-- Windows 8.1 -->
                <supportedOS Id="{1f676c76-80e1-4239-95bb-83d0f6d0da78}"/>
                <!-- Windows Vista -->
                <supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}"/> 
                <!-- Windows 7 -->
                <supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}"/>
                <!-- Windows 8 -->
                <supportedOS Id="{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}"/>
            </application> 
        </compatibility>
    
    
    </assembly>
    
    

    【讨论】:

    • 不幸的是,这与我之前的尝试遭遇了同样的命运。我构建了 EXE,将我的显示器设置为 o125% 缩放,启动了测试 EXE,并观察到报告仍然没有忽略缩放。我将在上面的 EXE 清单中添加一个屏幕截图。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-20
    • 1970-01-01
    • 2021-08-22
    相关资源
    最近更新 更多