Type TSDocxBorder = Class public Function Create(application, borders, borderType); private application_; border_; public property Application read ReadApplication; 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 Creator read ReadCreator; property Inside read ReadInside; property LineStyle read ReadLineStyle write WriteLineStyle; property LineWidth read ReadLineWidth write WriteLineWidth; property Parent read ReadParent; property Visible read ReadVisible write WriteVisible; Function WriteVisible(); Function ReadVisible(); Function ReadParent(); Function WriteLineWidth(); Function ReadLineWidth(); Function WriteLineStyle(value);virtual; Function ReadLineStyle(); Function ReadInside(); Function ReadCreator(); Function WriteColorIndex(); Function ReadColorIndex(); Function WriteColor(); Function ReadColor(); Function WriteArtWidth(); Function ReadArtWidth(); Function WriteArtStyle(); Function ReadArtStyle(); Function ReadApplication(); End; // ============== 实现 ================= // Function TSDocxBorder.Create(application, borders, borderType); Begin application_ := application; case borderType of Class(TSDocxEnumerations).wdBorderBottom(): border_ := borders.Bottom; Class(TSDocxEnumerations).wdBorderDiagonalDown(): border_ := borders.tl2br; Class(TSDocxEnumerations).wdBorderDiagonalUp(): border_ := borders.tr2bl; Class(TSDocxEnumerations).wdBorderHorizontal(): border_ := borders.InsideH; Class(TSDocxEnumerations).wdBorderLeft(): border_ := borders.Left; Class(TSDocxEnumerations).wdBorderRight(): border_ := borders.Right; Class(TSDocxEnumerations).wdBorderTop(): border_ := borders.Top; Class(TSDocxEnumerations).wdBorderVertical(): border_ := borders.InsideV; end; End; // property Function TSDocxBorder.WriteLineStyle(value);virtual; Begin case value of class(TSDocxEnumerations).wdLineStyleDashDot(): border_.Val := "nil"; class(TSDocxEnumerations).wdLineStyleDashDotDot(): border_.Val := "nil"; class(TSDocxEnumerations).wdLineStyleDashDotStroked(): border_.Val := "nil"; class(TSDocxEnumerations).wdLineStyleDashLargeGap(): border_.Val := "nil"; class(TSDocxEnumerations).wdLineStyleDashSmallGap(): border_.Val := "nil"; class(TSDocxEnumerations).wdLineStyleDot(): border_.Val := "nil"; class(TSDocxEnumerations).wdLineStyleDouble(): border_.Val := "double"; class(TSDocxEnumerations).wdLineStyleDoubleWavy(): border_.Val := "nil"; class(TSDocxEnumerations).wdLineStyleEmboss3D(): border_.Val := "nil"; class(TSDocxEnumerations).wdLineStyleEngrave3D(): border_.Val := "nil"; class(TSDocxEnumerations).wdLineStyleInset(): border_.Val := "nil"; class(TSDocxEnumerations).wdLineStyleNone(): border_.Val := "nil"; class(TSDocxEnumerations).wdLineStyleOutset(): border_.Val := "nil"; class(TSDocxEnumerations).wdLineStyleSingle(): border_.Val := "single"; class(TSDocxEnumerations).wdLineStyleSingleWavy(): border_.Val := "nil"; class(TSDocxEnumerations).wdLineStyleThickThinLargeGap(): border_.Val := "nil"; class(TSDocxEnumerations).wdLineStyleThickThinMedGap(): border_.Val := "nil"; class(TSDocxEnumerations).wdLineStyleThickThinSmallGap(): border_.Val := "nil"; class(TSDocxEnumerations).wdLineStyleThinThickLargeGap(): border_.Val := "nil"; class(TSDocxEnumerations).wdLineStyleThinThickMedGap(): border_.Val := "nil"; class(TSDocxEnumerations).wdLineStyleThinThickSmallGap(): border_.Val := "nil"; class(TSDocxEnumerations).wdLineStyleThinThickThinLargeGap(): border_.Val := "nil"; class(TSDocxEnumerations).wdLineStyleThinThickThinMedGap(): border_.Val := "nil"; class(TSDocxEnumerations).wdLineStyleThinThickThinSmallGap(): border_.Val := "nil"; class(TSDocxEnumerations).wdLineStyleTriple(): border_.Val := "nil"; end; border_.Update(); End;