Type TSDocxShading = Class(TSVbaBase) Uses TSDocxEnumerations; public Function Init(shading); Function Apply();virtual; private shading_; // TOfficeObj("TwShading") color_index_; color_; public // Properties property BackgroundPatternColor read ReadBackgroundPatternColor write WriteBackgroundPatternColor; property BackgroundPatternColorIndex read ReadBackgroundPatternColorIndex write WriteBackgroundPatternColorIndex; property ForegroundPatternColor read ReadForegroundPatternColor write WriteForegroundPatternColor; property ForegroundPatternColorIndex read ReadForegroundPatternColorIndex write WriteForegroundPatternColorIndex; property Texture read ReadTexture write WriteTexture; Function WriteTexture(value);virtual; Function ReadTexture();virtual; Function WriteForegroundPatternColorIndex(value);virtual; Function ReadForegroundPatternColorIndex();virtual; Function WriteForegroundPatternColor(value);virtual; Function ReadForegroundPatternColor();virtual; Function WriteBackgroundPatternColorIndex(value);virtual; Function ReadBackgroundPatternColorIndex();virtual; Function WriteBackgroundPatternColor(value);virtual; Function ReadBackgroundPatternColor();virtual; End; // ============== 实现 ================= // Function TSDocxShading.Init(shading); Begin shading_ := shading; color_index_ := TSWdColorIndex(); color_ := TSWdColor(); End; Function TSDocxShading.Apply();virtual; Begin shading_.Update(); End; // property Function TSDocxShading.WriteTexture(value);virtual; Begin case value of TSDocxEnumerations.wdTexture10Percent(): shading_.Val := "pct10"; TSDocxEnumerations.wdTexture12Pt5Percent(): shading_.Val := "pct12"; TSDocxEnumerations.wdTexture15Percent(): shading_.Val := "pct15"; TSDocxEnumerations.wdTexture17Pt5Percent(): shading_.Val := "pct17"; TSDocxEnumerations.wdTexture20Percent(): shading_.Val := "pct20"; TSDocxEnumerations.wdTexture22Pt5Percent(): shading_.Val := "pct22"; TSDocxEnumerations.wdTexture25Percent(): shading_.Val := "pct25"; TSDocxEnumerations.wdTexture27Pt5Percent(): shading_.Val := "clear"; TSDocxEnumerations.wdTexture2Pt5Percent(): shading_.Val := "clear"; TSDocxEnumerations.wdTexture30Percent(): shading_.Val := "pct30"; TSDocxEnumerations.wdTexture32Pt5Percent(): shading_.Val := "pct32"; TSDocxEnumerations.wdTexture35Percent(): shading_.Val := "pct35"; TSDocxEnumerations.wdTexture37Pt5Percent(): shading_.Val := "pct37"; TSDocxEnumerations.wdTexture40Percent(): shading_.Val := "pct40"; TSDocxEnumerations.wdTexture42Pt5Percent(): shading_.Val := "pct42"; TSDocxEnumerations.wdTexture45Percent(): shading_.Val := "pct45"; TSDocxEnumerations.wdTexture47Pt5Percent(): shading_.Val := "pct47"; TSDocxEnumerations.wdTexture50Percent(): shading_.Val := "pct50"; TSDocxEnumerations.wdTexture52Pt5Percent(): shading_.Val := "pct52"; TSDocxEnumerations.wdTexture55Percent(): shading_.Val := "pct55"; TSDocxEnumerations.wdTexture57Pt5Percent(): shading_.Val := "clear"; TSDocxEnumerations.wdTexture5Percent(): shading_.Val := "pct5"; TSDocxEnumerations.wdTexture60Percent(): shading_.Val := "pct60"; TSDocxEnumerations.wdTexture62Pt5Percent(): shading_.Val := "pct62"; TSDocxEnumerations.wdTexture65Percent(): shading_.Val := "pct65"; TSDocxEnumerations.wdTexture67Pt5Percent(): shading_.Val := "pct67"; TSDocxEnumerations.wdTexture70Percent(): shading_.Val := "pct70"; TSDocxEnumerations.wdTexture72Pt5Percent(): shading_.Val := "pct72"; TSDocxEnumerations.wdTexture75Percent(): shading_.Val := "pct75"; TSDocxEnumerations.wdTexture77Pt5Percent(): shading_.Val := "pct77"; TSDocxEnumerations.wdTexture7Pt5Percent(): shading_.Val := "clear"; TSDocxEnumerations.wdTexture80Percent(): shading_.Val := "pct80"; TSDocxEnumerations.wdTexture82Pt5Percent(): shading_.Val := "pct82"; TSDocxEnumerations.wdTexture85Percent(): shading_.Val := "pct85"; TSDocxEnumerations.wdTexture87Pt5Percent(): shading_.Val := "pct87"; TSDocxEnumerations.wdTexture90Percent(): shading_.Val := "pct90"; TSDocxEnumerations.wdTexture92Pt5Percent(): shading_.Val := "pct92"; TSDocxEnumerations.wdTexture95Percent(): shading_.Val := "pct95"; TSDocxEnumerations.wdTexture97Pt5Percent(): shading_.Val := "pct97"; TSDocxEnumerations.wdTextureCross(): shading_.Val := "thinHorzCross"; TSDocxEnumerations.wdTextureDarkCross(): shading_.Val := "HorzCross"; TSDocxEnumerations.wdTextureDarkDiagonalCross(): shading_.Val := "diagCross"; TSDocxEnumerations.wdTextureDarkDiagonalDown(): shading_.Val := "reverseDiagStripe"; TSDocxEnumerations.wdTextureDarkDiagonalUp(): shading_.Val := "diagStripe"; TSDocxEnumerations.wdTextureDarkHorizontal(): shading_.Val := "horzStripe"; TSDocxEnumerations.wdTextureDarkVertical(): shading_.Val := "vertStripe"; TSDocxEnumerations.wdTextureDiagonalCross(): shading_.Val := "thinDiagCross"; TSDocxEnumerations.wdTextureDiagonalDown(): shading_.Val := "thinReverseDiagStripe"; TSDocxEnumerations.wdTextureDiagonalUp(): shading_.Val := "thinDiagStripe"; TSDocxEnumerations.wdTextureHorizontal(): shading_.Val := "thinHorzStripe"; TSDocxEnumerations.wdTextureNone(): shading_.Val := "none"; TSDocxEnumerations.wdTextureSolid(): shading_.Val := "solid"; TSDocxEnumerations.wdTextureVertical(): shading_.Val := "thinVertStripe"; end; End; Function TSDocxShading.ReadTexture();virtual; Begin value := shading_.Value("Val"); case value of "pct10": return TSDocxEnumerations.wdTexture10Percent(); "pct12": return TSDocxEnumerations.wdTexture12Pt5Percent(); "pct15": return TSDocxEnumerations.wdTexture15Percent(); "pct17": return TSDocxEnumerations.wdTexture17Pt5Percent(); "pct20": return TSDocxEnumerations.wdTexture20Percent(); "pct22": return TSDocxEnumerations.wdTexture22Pt5Percent(); "pct25": return TSDocxEnumerations.wdTexture25Percent(); "clear": return TSDocxEnumerations.wdTexture27Pt5Percent(); "clear": return TSDocxEnumerations.wdTexture2Pt5Percent(); "pct30": return TSDocxEnumerations.wdTexture30Percent(); "pct32": return TSDocxEnumerations.wdTexture32Pt5Percent(); "pct35": return TSDocxEnumerations.wdTexture35Percent(); "pct37": return TSDocxEnumerations.wdTexture37Pt5Percent(); "pct40": return TSDocxEnumerations.wdTexture40Percent(); "pct42": return TSDocxEnumerations.wdTexture42Pt5Percent(); "pct45": return TSDocxEnumerations.wdTexture45Percent(); "pct47": return TSDocxEnumerations.wdTexture47Pt5Percent(); "pct50": return TSDocxEnumerations.wdTexture50Percent(); "pct52": return TSDocxEnumerations.wdTexture52Pt5Percent(); "pct55": return TSDocxEnumerations.wdTexture55Percent(); "clear": return TSDocxEnumerations.wdTexture57Pt5Percent(); "pct5": return TSDocxEnumerations.wdTexture5Percent(); "pct60": return TSDocxEnumerations.wdTexture60Percent(); "pct62": return TSDocxEnumerations.wdTexture62Pt5Percent(); "pct65": return TSDocxEnumerations.wdTexture65Percent(); "pct67": return TSDocxEnumerations.wdTexture67Pt5Percent(); "pct70": return TSDocxEnumerations.wdTexture70Percent(); "pct72": return TSDocxEnumerations.wdTexture72Pt5Percent(); "pct75": return TSDocxEnumerations.wdTexture75Percent(); "pct77": return TSDocxEnumerations.wdTexture77Pt5Percent(); "clear": return TSDocxEnumerations.wdTexture7Pt5Percent(); "pct80": return TSDocxEnumerations.wdTexture80Percent(); "pct82": return TSDocxEnumerations.wdTexture82Pt5Percent(); "pct85": return TSDocxEnumerations.wdTexture85Percent(); "pct87": return TSDocxEnumerations.wdTexture87Pt5Percent(); "pct90": return TSDocxEnumerations.wdTexture90Percent(); "pct92": return TSDocxEnumerations.wdTexture92Pt5Percent(); "pct95": return TSDocxEnumerations.wdTexture95Percent(); "pct97": return TSDocxEnumerations.wdTexture97Pt5Percent(); "thinHorzCross": return TSDocxEnumerations.wdTextureCross(); "HorzCross": return TSDocxEnumerations.wdTextureDarkCross(); "diagCross": return TSDocxEnumerations.wdTextureDarkDiagonalCross(); "reverseDiagStripe": return TSDocxEnumerations.wdTextureDarkDiagonalDown(); "diagStripe": return TSDocxEnumerations.wdTextureDarkDiagonalUp(); "horzStripe": return TSDocxEnumerations.wdTextureDarkHorizontal(); "vertStripe": return TSDocxEnumerations.wdTextureDarkVertical(); "thinDiagCross": return TSDocxEnumerations.wdTextureDiagonalCross(); "thinReverseDiagStripe": return TSDocxEnumerations.wdTextureDiagonalDown(); "thinDiagStripe": return TSDocxEnumerations.wdTextureDiagonalUp(); "thinHorzStripe": return TSDocxEnumerations.wdTextureHorizontal(); "none": return TSDocxEnumerations.wdTextureNone(); "solid": return TSDocxEnumerations.wdTextureSolid(); "thinVertStripe": return TSDocxEnumerations.wdTextureVertical(); end; End; Function TSDocxShading.WriteForegroundPatternColorIndex(value);virtual; Begin shading_.Color := color_index_[value]; End; Function TSDocxShading.ReadForegroundPatternColorIndex();virtual; Begin return color_index_[shading_.Value("Color")]; End; Function TSDocxShading.WriteForegroundPatternColor(value);virtual; Begin shading_.Color := color_[value]; End; Function TSDocxShading.ReadForegroundPatternColor();virtual; Begin return color_[shading_.Value("Color")]; End; Function TSDocxShading.WriteBackgroundPatternColorIndex(value);virtual; Begin shading_.Fill := color_index_[value]; End; Function TSDocxShading.ReadBackgroundPatternColorIndex();virtual; Begin return color_index_[shading_.Value("Fill")]; End; Function TSDocxShading.WriteBackgroundPatternColor(value); Begin shading_.Fill := color_[value]; End; Function TSDocxShading.ReadBackgroundPatternColor(); Begin return color_[shading_.Value("Fill")]; End;