• RichView RichEdit SRichViewEdit PageSize 页面设置与同步


    RichView   RichEdit SRichViewEdit PageSize 设置与同步

         使用RichView,创建Doc文件时,通过设置好TRVDocParameters设置好页面后,生成的Doc文件或Rtf文件时,文件是保存了Page的设置,但创建的文件,需要导入DBSRichViewEdit保存后,末能导入Page设置数据,同时通过DBSRichViewEdit,显示不能同步Page的设置。

        通常我们文档的Page设置,通过TRVDocParameters设置: 

           参考上述参数,设置:

    1. procedure SetDocParameters(DP: TRVDocParameters;sPage:string);
    2. begin
    3. if sPage='A4' then
    4. begin
    5. DP.PageWidth := 210; // 单位是毫米
    6. DP.PageHeight := 297;
    7. DP.LeftMargin := 40;
    8. DP.RightMargin := 25;
    9. DP.TopMargin := 30;
    10. DP.BottomMargin := 30;
    11. DP.HeaderY := 10;
    12. DP.FooterY := 10;
    13. end;
    14. if sPage='A5' then
    15. begin
    16. DP.PageWidth := 148;
    17. DP.PageHeight := 210;
    18. DP.LeftMargin := 30;
    19. DP.RightMargin := 20;
    20. DP.TopMargin := 20;
    21. DP.BottomMargin := 20;
    22. DP.HeaderY := 10;
    23. DP.FooterY := 10;
    24. end;
    25. end;

           这样,我们就能通过代码,设置指定页面的DOC文档了。

           例如:过程      procedure Generate(sPage:string); 就是创建文本的过程,具体代码略。

           当执行 Generate(‘A4')和 Generate(‘A5')时,由于SRichViewEdit默认什是A4,屏幕显示的都是A4的内面。

        上图A4界面,下图A5界面。

             经研究TSRichViewEdit类,修改或设置Page页面的数据,只能通过PageProperty属性创建或修改。

            在procedure Generate(sPage:string);,代码中,通过流导入文档时,加入代码:

           

    1. if sPage='A4' then
    2. begin
    3. RV.PageProperty.PageWidth := 21; // 单位是厘米
    4. RV.PageProperty.PageHeight := 29.7;
    5. RV.PageProperty.LeftMargin := 4;
    6. RV.PageProperty.RightMargin := 2.5;
    7. RV.PageProperty.TopMargin := 3;
    8. RV.PageProperty.BottomMargin := 3;
    9. RV.PageProperty.HeaderY := 1;
    10. RV.PageProperty.FooterY := 1;
    11. end;
    12. if sPage='A5' then
    13. begin
    14. RV.PageProperty.PageWidth := 14.8;
    15. RV.PageProperty.PageHeight := 21;
    16. RV.PageProperty.LeftMargin := 3;
    17. RV.PageProperty.RightMargin := 2;
    18. RV.PageProperty.TopMargin := 2;
    19. RV.PageProperty.BottomMargin := 2;
    20. RV.PageProperty.HeaderY := 1;
    21. RV.PageProperty.FooterY := 1;
    22. end;

           实现RichEdit SRichViewEdit PageSize 同步显示。

  • 相关阅读:
    Mysql计算一行最大最小值
    git 上传大文件
    Java.lang.Character类中toString()方法具有什么功能呢?
    JavaSE阶段常见面试题(二)
    AcWing第57场周赛
    QT配置可执行文件和缓存文件的位置
    Springboot+校园健身互助平台 毕业设计-附源码221540
    HK32F030MF4P6 SWD管脚功能复用GPIO
    LSKA(大可分离核注意力):重新思考CNN大核注意力设计
    Linux篇15进程间通信之共享内存&&浅谈消息队列&&浅谈信号量
  • 原文地址:https://blog.csdn.net/lyhoo163/article/details/125540020