Type TSDocxBorder = Class(TSVbaBase) Uses TSDocxEnumerations; public Function Init(borders); Function Apply();virtual; protected border_; color_; color_index_; public // Properties property ArtStyle read ReadArtStyle write WriteArtStyle; property ArtWidth read ReadArtWidth write WriteArtWidth; property Color read ReadColor write WriteColor; property ColorIndex read ReadColorIndex write WriteColorIndex; property Inside read ReadInside; property LineStyle read ReadLineStyle write WriteLineStyle; property LineWidth read ReadLineWidth write WriteLineWidth; property Visible read ReadVisible write WriteVisible; Function WriteVisible(value);virtual; Function ReadVisible();virtual; Function WriteLineWidth(value);virtual; Function ReadLineWidth();virtual; Function WriteLineStyle(value);virtual; Function ReadLineStyle();virtual; Function ReadInside();virtual; // don't complete Function WriteColorIndex(value);virtual; Function ReadColorIndex();virtual; Function WriteColor(value);virtual; Function ReadColor();virtual; Function WriteArtWidth(value);virtual; Function ReadArtWidth();virtual; Function WriteArtStyle(value);virtual; Function ReadArtStyle();virtual; End; // ============== 实现 ================= // Function TSDocxBorder.Init(border); Begin border_ := border; color_index_ := TSWdColorIndex(); color_ := TSWdColor(); End; Function TSDocxBorder.Apply();virtual; Begin border_.Update("first"); End; // Properties Function TSDocxBorder.WriteArtStyle(value);virtual; Begin case value of TSDocxEnumerations.wdArtApples(): border_.Val := "apples"; // TSDocxEnumerations.wdArtArchedScallops(): // TSDocxEnumerations.wdArtBabyPacifier(): // TSDocxEnumerations.wdArtBabyRattle(): // TSDocxEnumerations.wdArtBalloons3Colors(): // TSDocxEnumerations.wdArtBalloonsHotAir(): // TSDocxEnumerations.wdArtBasicBlackDashes(): // TSDocxEnumerations.wdArtBasicBlackDots(): // TSDocxEnumerations.wdArtBasicBlackSquares(): // TSDocxEnumerations.wdArtBasicThinLines(): // TSDocxEnumerations.wdArtBasicWhiteDashes(): // TSDocxEnumerations.wdArtBasicWhiteDots(): // TSDocxEnumerations.wdArtBasicWhiteSquares(): // TSDocxEnumerations.wdArtBasicWideInline(): // TSDocxEnumerations.wdArtBasicWideMidline(): // TSDocxEnumerations.wdArtBasicWideOutline(): // TSDocxEnumerations.wdArtBats(): // TSDocxEnumerations.wdArtBirds(): // TSDocxEnumerations.wdArtBirdsFlight(): // TSDocxEnumerations.wdArtCabins(): // TSDocxEnumerations.wdArtCakeSlice(): // TSDocxEnumerations.wdArtCandyCorn(): // TSDocxEnumerations.wdArtCelticKnotwork(): // TSDocxEnumerations.wdArtCertificateBanner(): // TSDocxEnumerations.wdArtChainLink(): // TSDocxEnumerations.wdArtChampagneBottle(): // TSDocxEnumerations.wdArtCheckedBarBlack(): // TSDocxEnumerations.wdArtCheckedBarColor(): // TSDocxEnumerations.wdArtCheckered(): // TSDocxEnumerations.wdArtChristmasTree(): // TSDocxEnumerations.wdArtCirclesLines(): // TSDocxEnumerations.wdArtCirclesRectangles(): // TSDocxEnumerations.wdArtClassicalWave(): // TSDocxEnumerations.wdArtClocks(): // TSDocxEnumerations.wdArtCompass(): // TSDocxEnumerations.wdArtConfetti(): // TSDocxEnumerations.wdArtConfettiGrays(): // TSDocxEnumerations.wdArtConfettiOutline(): // TSDocxEnumerations.wdArtConfettiStreamers(): // TSDocxEnumerations.wdArtConfettiWhite(): // TSDocxEnumerations.wdArtCornerTriangles(): // TSDocxEnumerations.wdArtCouponCutoutDashes(): // TSDocxEnumerations.wdArtCouponCutoutDots(): // TSDocxEnumerations.wdArtCrazyMaze(): // TSDocxEnumerations.wdArtCreaturesButterfly(): // TSDocxEnumerations.wdArtCreaturesFish(): // TSDocxEnumerations.wdArtCreaturesInsects(): // TSDocxEnumerations.wdArtCreaturesLadyBug(): // TSDocxEnumerations.wdArtCrossStitch(): // TSDocxEnumerations.wdArtCup(): // TSDocxEnumerations.wdArtDecoArch(): // TSDocxEnumerations.wdArtDecoArchColor(): // TSDocxEnumerations.wdArtDecoBlocks(): // TSDocxEnumerations.wdArtDiamondsGray(): // TSDocxEnumerations.wdArtDoubleD(): // TSDocxEnumerations.wdArtDoubleDiamonds(): // TSDocxEnumerations.wdArtEarth1(): // TSDocxEnumerations.wdArtEarth2(): // TSDocxEnumerations.wdArtEclipsingSquares1(): // TSDocxEnumerations.wdArtEclipsingSquares2(): // TSDocxEnumerations.wdArtEggsBlack(): // TSDocxEnumerations.wdArtFans(): // TSDocxEnumerations.wdArtFilm(): // TSDocxEnumerations.wdArtFirecrackers(): // TSDocxEnumerations.wdArtFlowersBlockPrint(): // TSDocxEnumerations.wdArtFlowersDaisies(): // TSDocxEnumerations.wdArtFlowersModern1(): // TSDocxEnumerations.wdArtFlowersModern2(): // TSDocxEnumerations.wdArtFlowersPansy(): // TSDocxEnumerations.wdArtFlowersRedRose(): // TSDocxEnumerations.wdArtFlowersRoses(): // TSDocxEnumerations.wdArtFlowersTeacup(): // TSDocxEnumerations.wdArtFlowersTiny(): // TSDocxEnumerations.wdArtGems(): // TSDocxEnumerations.wdArtGingerbreadMan(): // TSDocxEnumerations.wdArtGradient(): // TSDocxEnumerations.wdArtHandmade1(): // TSDocxEnumerations.wdArtHandmade2(): // TSDocxEnumerations.wdArtHeartBalloon(): // TSDocxEnumerations.wdArtHeartGray(): // TSDocxEnumerations.wdArtHearts(): // TSDocxEnumerations.wdArtHeebieJeebies(): // TSDocxEnumerations.wdArtHolly(): // TSDocxEnumerations.wdArtHouseFunky(): // TSDocxEnumerations.wdArtHypnotic(): // TSDocxEnumerations.wdArtIceCreamCones(): // TSDocxEnumerations.wdArtLightBulb(): // TSDocxEnumerations.wdArtLightning1(): // TSDocxEnumerations.wdArtLightning2(): // TSDocxEnumerations.wdArtMapleLeaf(): // TSDocxEnumerations.wdArtMapleMuffins(): // TSDocxEnumerations.wdArtMapPins(): // TSDocxEnumerations.wdArtMarquee(): // TSDocxEnumerations.wdArtMarqueeToothed(): // TSDocxEnumerations.wdArtMoons(): // TSDocxEnumerations.wdArtMosaic(): // TSDocxEnumerations.wdArtMusicNotes(): // TSDocxEnumerations.wdArtNorthwest(): // TSDocxEnumerations.wdArtOvals(): // TSDocxEnumerations.wdArtPackages(): // TSDocxEnumerations.wdArtPalmsBlack(): // TSDocxEnumerations.wdArtPalmsColor(): // TSDocxEnumerations.wdArtPaperClips(): // TSDocxEnumerations.wdArtPapyrus(): // TSDocxEnumerations.wdArtPartyFavor(): // TSDocxEnumerations.wdArtPartyGlass(): // TSDocxEnumerations.wdArtPencils(): // TSDocxEnumerations.wdArtPeople(): // TSDocxEnumerations.wdArtPeopleHats(): // TSDocxEnumerations.wdArtPeopleWaving(): // TSDocxEnumerations.wdArtPoinsettias(): // TSDocxEnumerations.wdArtPostageStamp(): // TSDocxEnumerations.wdArtPumpkin1(): // TSDocxEnumerations.wdArtPushPinNote1(): // TSDocxEnumerations.wdArtPushPinNote2(): // TSDocxEnumerations.wdArtPyramids(): // TSDocxEnumerations.wdArtPyramidsAbove(): // TSDocxEnumerations.wdArtQuadrants(): // TSDocxEnumerations.wdArtRings(): // TSDocxEnumerations.wdArtSafari(): // TSDocxEnumerations.wdArtSawtooth(): // TSDocxEnumerations.wdArtSawtoothGray(): // TSDocxEnumerations.wdArtScaredCat(): // TSDocxEnumerations.wdArtSeattle(): // TSDocxEnumerations.wdArtShadowedSquares(): // TSDocxEnumerations.wdArtSharksTeeth(): // TSDocxEnumerations.wdArtShorebirdTracks(): // TSDocxEnumerations.wdArtSkyrocket(): // TSDocxEnumerations.wdArtSnowflakeFancy(): // TSDocxEnumerations.wdArtSnowflakes(): // TSDocxEnumerations.wdArtSombrero(): // TSDocxEnumerations.wdArtSouthwest(): // TSDocxEnumerations.wdArtStars(): // TSDocxEnumerations.wdArtStars3D(): // TSDocxEnumerations.wdArtStarsBlack(): // TSDocxEnumerations.wdArtStarsShadowed(): // TSDocxEnumerations.wdArtStarsTop(): // TSDocxEnumerations.wdArtSun(): // TSDocxEnumerations.wdArtSwirligig(): // TSDocxEnumerations.wdArtTornPaper(): // TSDocxEnumerations.wdArtTornPaperBlack(): // TSDocxEnumerations.wdArtTrees(): // TSDocxEnumerations.wdArtTriangleParty(): // TSDocxEnumerations.wdArtTriangles(): // TSDocxEnumerations.wdArtTribal1(): // TSDocxEnumerations.wdArtTribal2(): // TSDocxEnumerations.wdArtTribal3(): // TSDocxEnumerations.wdArtTribal4(): // TSDocxEnumerations.wdArtTribal5(): // TSDocxEnumerations.wdArtTribal6(): // TSDocxEnumerations.wdArtTwistedLines1(): // TSDocxEnumerations.wdArtTwistedLines2(): // TSDocxEnumerations.wdArtVine(): // TSDocxEnumerations.wdArtWaveline(): // TSDocxEnumerations.wdArtWeavingAngles(): // TSDocxEnumerations.wdArtWeavingBraid(): // TSDocxEnumerations.wdArtWeavingRibbon(): // TSDocxEnumerations.wdArtWeavingStrips(): // TSDocxEnumerations.wdArtWhiteFlowers(): // TSDocxEnumerations.wdArtWoodwork(): // TSDocxEnumerations.wdArtXIllusions(): // TSDocxEnumerations.wdArtZanyTriangles(): // TSDocxEnumerations.wdArtZigZag(): // TSDocxEnumerations.wdArtZigZagStitch(): end; End; Function TSDocxBorder.ReadArtStyle();virtual; Begin value := border_.Value("Val"); case value of "apples": return TSDocxEnumerations.wdArtApples(); end; End; Function TSDocxBorder.WriteArtWidth(value);virtual; Begin border_.Size := value; End; Function TSDocxBorder.ReadArtWidth();virtual; Begin return border_.Value("Size"); End; Function TSDocxBorder.WriteColor(value);virtual; Begin border_.Color := color_[value]; End; Function TSDocxBorder.ReadColor();virtual; Begin return color_[border_.Value("Color")]; End; Function TSDocxBorder.WriteColorIndex(value);virtual; Begin color_index := color_index_[value]; if ifnil(color_index) then border_.Root().DeleteAttribute("w:color"); else begin border_.Color := color_index; end End; Function TSDocxBorder.ReadColorIndex();virtual; Begin return color_index_[border_.Value("Color")]; End; Function TSDocxBorder.WriteLineStyle(value);virtual; Begin case value of TSDocxEnumerations.wdLineStyleDashDot(): border_.Val := "dotDash"; TSDocxEnumerations.wdLineStyleDashDotDot(): border_.Val := "dotDotDash"; TSDocxEnumerations.wdLineStyleDashDotStroked(): border_.Val := "dashDotStroked"; TSDocxEnumerations.wdLineStyleDashLargeGap(): border_.Val := "dashed"; TSDocxEnumerations.wdLineStyleDashSmallGap(): border_.Val := "dashSmallGap"; TSDocxEnumerations.wdLineStyleDot(): border_.Val := "dotted"; TSDocxEnumerations.wdLineStyleDouble(): border_.Val := "double"; TSDocxEnumerations.wdLineStyleDoubleWavy(): border_.Val := "doubleWave"; TSDocxEnumerations.wdLineStyleEmboss3D(): border_.Val := "threeDEmboss"; TSDocxEnumerations.wdLineStyleEngrave3D(): border_.Val := "threeDEngrave"; TSDocxEnumerations.wdLineStyleInset(): border_.Val := "inset"; TSDocxEnumerations.wdLineStyleNone(): border_.Val := "none"; TSDocxEnumerations.wdLineStyleOutset(): border_.Val := "outset"; TSDocxEnumerations.wdLineStyleSingle(): border_.Val := "single"; TSDocxEnumerations.wdLineStyleSingleWavy(): border_.Val := "wave"; TSDocxEnumerations.wdLineStyleThickThinLargeGap(): border_.Val := "thickThinLargeGap"; TSDocxEnumerations.wdLineStyleThickThinMedGap(): border_.Val := "thickThinMediumGap"; TSDocxEnumerations.wdLineStyleThickThinSmallGap(): border_.Val := "thickThinSmallGap"; TSDocxEnumerations.wdLineStyleThinThickLargeGap(): border_.Val := "thinThickLargeGap"; TSDocxEnumerations.wdLineStyleThinThickMedGap(): border_.Val := "thinThickMediumGap"; TSDocxEnumerations.wdLineStyleThinThickSmallGap(): border_.Val := "thinThickSmallGap"; TSDocxEnumerations.wdLineStyleThinThickThinLargeGap(): border_.Val := "thinThickThinLargeGap"; TSDocxEnumerations.wdLineStyleThinThickThinMedGap(): border_.Val := "thinThickThinMediumGap"; TSDocxEnumerations.wdLineStyleThinThickThinSmallGap(): border_.Val := "thinThickThinSmallGap"; TSDocxEnumerations.wdLineStyleTriple(): border_.Val := "triple"; end; End; Function TSDocxBorder.ReadLineStyle();virtual; Begin value := border_.Value("Val"); case value of "dotDash": return TSDocxEnumerations.wdLineStyleDashDot(); "dotDotDash": return TSDocxEnumerations.wdLineStyleDashDotDot(); "dashDotStroked": return TSDocxEnumerations.wdLineStyleDashDotStroked(); "dashed": return TSDocxEnumerations.wdLineStyleDashLargeGap(); "dashSmallGap": return TSDocxEnumerations.wdLineStyleDashSmallGap(); "dotted": return TSDocxEnumerations.wdLineStyleDot(); "double": return TSDocxEnumerations.wdLineStyleDouble(); "doubleWave": return TSDocxEnumerations.wdLineStyleDoubleWavy(); "threeDEmboss": return TSDocxEnumerations.wdLineStyleEmboss3D(); "threeDEngrave": return TSDocxEnumerations.wdLineStyleEngrave3D(); "inset": return TSDocxEnumerations.wdLineStyleInset(); "none": return TSDocxEnumerations.wdLineStyleNone(); "outset": return TSDocxEnumerations.wdLineStyleOutset(); "single": return TSDocxEnumerations.wdLineStyleSingle(); "wave": return TSDocxEnumerations.wdLineStyleSingleWavy(); "thickThinLargeGap": return TSDocxEnumerations.wdLineStyleThickThinLargeGap(); "thickThinMediumGap": return TSDocxEnumerations.wdLineStyleThickThinMedGap(); "thickThinSmallGap": return TSDocxEnumerations.wdLineStyleThickThinSmallGap(); "thinThickLargeGap": return TSDocxEnumerations.wdLineStyleThinThickLargeGap(); "thinThickMediumGap": return TSDocxEnumerations.wdLineStyleThinThickMedGap(); "thinThickSmallGap": return TSDocxEnumerations.wdLineStyleThinThickSmallGap(); "thinThickThinLargeGap": return TSDocxEnumerations.wdLineStyleThinThickThinLargeGap(); "thinThickThinMediumGap": return TSDocxEnumerations.wdLineStyleThinThickThinMedGap(); "thinThickThinSmallGap": return TSDocxEnumerations.wdLineStyleThinThickThinSmallGap(); "triple": return TSDocxEnumerations.wdLineStyleTriple(); end; End; Function TSDocxBorder.WriteLineWidth(value);virtual; Begin border_.Size := value; End; Function TSDocxBorder.ReadLineWidth();virtual; Begin return border_.Value("Size"); End; Function TSDocxBorder.WriteVisible(value);virtual; Begin v := value ? "single" : "nil"; border_.Val := v; End; Function TSDocxBorder.ReadVisible();virtual; Begin value := border_.Value("Val"); return value = "nil" ? false : true; End;