在 TX Text Control 中实现 “Fit to page” 和“Fit to width”

随着电脑硬件配置的不断提升,现在主流的显示器已经达到21-24寸,甚至更大的显示器。在这种大尺寸显示器中,缩放页面至可用宽度或者将整页显示在课间范围内的功能需求就显得更加有意义。TX Text Control 提供了一个 ZoomFactor 属性用于设置页面的缩放比例,下面的代码演示了如何将当前页全部显示在可见范围内:

发布于 2012/11/16 00:00

随着电脑硬件配置的不断提升,现在主流的显示器已经达到21-24寸,甚至更大的显示器。

在这种大尺寸显示器中,缩放页面至可用宽度或者将整页显示在课间范围内的功能需求就显得更加有意义。

TX Text Control 提供了一个 ZoomFactor 属性用于设置页面的缩放比例,下面的代码演示了如何将当前页全部显示在可见范围内:

 
private void FitToWindow()
{
    textControl1.PageUnit = MeasuringUnit.Twips;
    int iVisibleGap = 65;

    Graphics g = textControl1.CreateGraphics();
    int iTwipsPerPixel = (int)(1440 / g.DpiX);

    SectionFormat currentSection = textControl1.Sections.GetItem().Format;

    double widthZoom = 100 * textControl1.Width /
        ((currentSection.PageSize.Width / iTwipsPerPixel)
        + iVisibleGap);
    double heightZoom = 100 * textControl1.Height /
        ((currentSection.PageSize.Height / iTwipsPerPixel)
        + iVisibleGap);

    if (widthZoom < heightZoom)
        textControl1.ZoomFactor = (int)widthZoom;
    else
        textControl1.ZoomFactor = (int)heightZoom;
}

以下方法演示了如何让页面宽度达到可使用的最大宽度:

 
private void FitToWidth()
{
    textControl1.PageUnit = MeasuringUnit.Twips;
    int iVisibleGap = 200;

    // get resolution to calculate convert twips 1/100 inch
    Graphics g = textControl1.CreateGraphics();
    int iTwipsPerPixel = (int)(1440 / g.DpiX);

    SectionFormat currentSection = textControl1.Sections.GetItem().Format;

    double widthZoom = 100 * textControl1.Width /
        ((currentSection.PageSize.Width / iTwipsPerPixel) + iVisibleGap);

    textControl1.ZoomFactor = (int)widthZoom;
}



源码下载:VS2010 + TX Text Control 17.0/X8

关于葡萄城

葡萄城是专业的软件开发技术和低代码平台提供商,以“赋能开发者”为使命,致力于通过表格控件、低代码和BI等各类软件开发工具和服务,一站式满足开发者需求,帮助企业提升开发效率并创新开发模式。葡萄城开发技术始于1980年,40余年来始终聚焦软件开发技术,有深厚的技术积累和丰富的产品线。是业界能够同时赋能软件开发和低代码开发的企业。凭借过硬的产品能力、活跃的用户社区和丰富的伙伴生态,与超过3000家合作伙伴紧密合作,产品广泛应用于信息和软件服务、制造、交通运输、建筑、金融、能源、教育、公共管理等支柱产业。

推荐相关案例
推荐相关资源
关注微信
葡萄城社区二维码

关注“葡萄城社区”

加微信获取技术资讯

加微信获取技术资讯

想了解更多信息,请联系我们, 随时掌握技术资源和产品动态