Setup.cs 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Text;
  4. using System.Runtime.InteropServices;
  5. using Biff8Excel.Interfaces;
  6. namespace Biff8Excel.Records
  7. {
  8. [StructLayoutAttribute(LayoutKind.Sequential, CharSet = CharSet.Auto, Pack = 1)]
  9. struct RecordSetup
  10. {
  11. public ushort opcode;
  12. public ushort length;
  13. public ushort pagesize;
  14. public ushort scalefactor;
  15. public ushort startpage;
  16. public ushort fitwide;
  17. public ushort fithigh;
  18. public ushort options;
  19. public ushort horizdpi;
  20. public ushort vertdpi;
  21. public double headermargin;
  22. public double footermargin;
  23. public ushort copies;
  24. }
  25. internal class Setup : IRecords
  26. {
  27. RecordSetup setup;
  28. public Setup()
  29. {
  30. setup.opcode = 0xA1;
  31. setup.length = 34;
  32. }
  33. public ushort PaperSize
  34. {
  35. set { setup.pagesize = value; }
  36. }
  37. public ushort ScaleFactor
  38. {
  39. set { setup.scalefactor = value; }
  40. }
  41. public ushort StartPage
  42. {
  43. set { setup.startpage = value; }
  44. }
  45. public ushort FitPagesWide
  46. {
  47. set { setup.fitwide = value; }
  48. }
  49. public ushort FitPagesHigh
  50. {
  51. set { setup.fithigh = value; }
  52. }
  53. public ushort OptionFlags
  54. {
  55. set { setup.options = value; }
  56. }
  57. public ushort HorizontalDpi
  58. {
  59. set { setup.horizdpi = value; }
  60. }
  61. public ushort VerticalDpi
  62. {
  63. set { setup.vertdpi = value; }
  64. }
  65. public double HeaderMargin
  66. {
  67. set { setup.headermargin = value; }
  68. }
  69. public double FooterMargin
  70. {
  71. set { setup.footermargin = value; }
  72. }
  73. public ushort Copies
  74. {
  75. set { setup.copies = value; }
  76. }
  77. #region IRecords ³ÉÔ±
  78. public byte[] GetByte()
  79. {
  80. return Globals.GetStructToBytes(setup);
  81. }
  82. #endregion
  83. }
  84. }