Delphi - Kitöltési effektusok

Excel grafikonok 4. rész

forráskód letöltése
Ebben a részben a kitöltési effektusok beállításával foglalkozunk. Megnézzük, hogy hogyan lehet egy grafikon hátterét kiszínezni, vagy azon különböző mintákat, képeket elhelyezni. Számos mintát, effektust, és anyagmintát biztosít a rendszer számunkra, de akár saját mintákat és képeket is használhatunk.
A diagramterület kitöltési effektusait a ChartFillFormat objektum metódusainak segítségével állíthatjuk be. Az objektum a ChartArea objektumba van beágyazva. A következő módon érhetjük el:
ChartArea:=MyChart.ChartArea;
MyFillFormat:=ChartArea.Fill;
A kitöltési effektusok alapját képező színeket két beágyazott objektum segítségével állíthatjuk be. Ez a két objektum a BackColor és a ForeColor. Mindkettő ChartColorFormat típusú.
A színeket a következő módon állíthatjuk be:
MyFillFormat.ForeColor.SchemeColor:=StrToIntDef(Edit1.Text,0);
MyFillFormat.BackCOlor.SchemeColor:=StrToIntDef(Edit2.Text,0);
Egyszerű háttérszín használata
Solid
procedure Solid;
A diagramterület hátterét beállítja a ForeColor objektumban megadott színűre.
  MyFillFormat.Solid;
Színátmenetek használata
A színátmenet lehet egyszínű, kétszínű és beállított.
OneColorGradient
procedure OneColorGradient(
Style: MsoGradientStyle;
Variant: Long;
Degree: Single
);
Egyszínű színátmenetet állít be. Az alapszínt a ForeColor objektumban megadott szín határozza meg.
Paraméterek
Style: MsoGradientStyle
A kitöltés stílusa. A következő értékeket használhatjuk: msoGradientHorizontal = $00000001; msoGradientVertical = $00000002; msoGradientDiagonalUp = $00000003; msoGradientDiagonalDown = $00000004; msoGradientFromCorner = $00000005; msoGradientFromCenter = $00000007.
Variant: Long
Négyféle változat beállítását teszi lehetővé. A használni kívánt változatot egy szám segítségével adhatjuk meg (1-4). Ha a Style paraméterben msoGradientFromCenter-t adtunk meg, akkor csak kétféle változatot használhatunk (1-2).
Degree: Single
A színátmenet foka. 0 (sötét), 1 (világos).
MyFillFormat.OneColorGradient(msoGradientFromCenter,1,0);
TwoColorGradient
procedure TwoColorGradient(
Style: MsoGradientStyle;
Variant: Long
);
Kétszínű színátmenetet állít be. Az alapszíneket a BackColor és ForeColor objektumokból veszi.
Paraméterek
Style: MsoGradientStyle
Lásd OneColorGradient objektum.
Variant: Long
Lásd OneColorGradient objektum.
MyFillFormat.TwoColorGradient(msoGradientFromCenter,1);
PresetGradient
procedure PresetGradient(
Style: MsoGradientStyle;
Variant: Long;
PresetGradientType: MsoPresetGradientType
);
Beállított színátmenet használatát teszi lehetővé.
Paraméterek
Style: MsoGradientStyle
Lásd OneColorGradient objektum.
Variant: Long
Lásd OneColorGradient objektum.
PresetGradientType: MsoPresetGradientType
Előre definiált mintázat. A következő értékeket használhatjuk:
  • msoGradientEarlySunset = $00000001;
  • msoGradientLateSunset = $00000002;
  • msoGradientNightfall = $00000003;
  • msoGradientDaybreak = $00000004;
  • msoGradientHorizon = $00000005;
  • msoGradientDesert = $00000006;
  • msoGradientOcean = $00000007;
  • msoGradientCalmWater = $00000008;
  • msoGradientFire = $00000009;
  • msoGradientFog = $0000000A;
  • msoGradientMoss = $0000000B;
  • msoGradientPeacock = $0000000C;
  • msoGradientWheat = $0000000D;
  • msoGradientParchment = $0000000E;
  • msoGradientMahogany = $0000000F;
  • msoGradientRainbow = $00000010;
  • msoGradientRainbowII = $00000011;
  • msoGradientGold = $00000012;
  • msoGradientGoldII = $00000013;
  • msoGradientBrass = $00000014;
  • msoGradientChrome = $00000015;
  • msoGradientChromeII = $00000016;
  • msoGradientSilver = $00000017;
  • msoGradientSapphire = $00000018.
MyFillFormat.PresetGradient(msoGradientFromCenter,2,msoGradientRainbow);
Anyagminták használata
Választhatunk előre definiált anyagminták közül, de saját magunk által létrehozott képeket is megadhatunk.
PresetTextured
procedure PresetTextured(
PresetTexture: MsoPresetTexture
);
Előre definiált anyagminta kiválasztását teszi lehetővé.
Paraméterek
PresetTexture: MsoPresetTexture
Az anyagmintát választja ki. Használható értékek:
  • msoTexturePapyrus = $00000001;
  • msoTextureCanvas = $00000002;
  • msoTextureDenim = $00000003;
  • msoTextureWovenMat = $00000004;
  • msoTextureWaterDroplets = $00000005;
  • msoTexturePaperBag = $00000006;
  • msoTextureFishFossil = $00000007;
  • msoTextureSand = $00000008;
  • msoTextureGreenMarble = $00000009;
  • msoTextureWhiteMarble = $0000000A;
  • msoTextureBrownMarble = $0000000B;
  • msoTextureGranite = $0000000C;
  • msoTextureNewsprint = $0000000D;
  • msoTextureRecycledPaper = $0000000E;
  • msoTextureParchment = $0000000F;
  • msoTextureStationery = $00000010;
  • msoTextureBlueTissuePaper = $00000011;
  • msoTexturePinkTissuePaper = $00000012;
  • msoTexturePurpleMesh = $00000013;
  • msoTextureBouquet = $00000014;
  • msoTextureCork = $00000015;
  • msoTextureWalnut = $00000016;
  • msoTextureOak = $00000017;
  • msoTextureMediumWood = $00000018;
MyFillFormat.PresetTextured(msoTextureGreenMarble);
UserTextured
procedure UserTextured(
TextureFile: String
);
Tetszőleges anyagminta betöltését teszi lehetővé, állományból.
Paraméterek
TextureFile: String
Az anyagmintát tartalmazó kép elérési útja és neve.
MyFillFormat.UserTextured(ExtractFilePath(Application.ExeName)+'texture.jpg');
Mintázat használata
A rendszerben van néhány előre definiált, mint például csíkos, rácsos, stb.
Patterned
procedure Patterned(
Pattern: MsoPatternType
);
Minta kiválasztását teszi lehetővé.
Paraméterek
Pattern: MsoPatternType
Minta. Használható értékek:
  • msoPattern5Percent = $00000001;
  • msoPattern10Percent = $00000002;
  • msoPattern20Percent = $00000003;
  • msoPattern25Percent = $00000004;
  • msoPattern30Percent = $00000005;
  • msoPattern40Percent = $00000006;
  • msoPattern50Percent = $00000007;
  • msoPattern60Percent = $00000008;
  • msoPattern70Percent = $00000009;
  • msoPattern75Percent = $0000000A;
  • msoPattern80Percent = $0000000B;
  • msoPattern90Percent = $0000000C;
  • msoPatternDarkHorizontal = $0000000D;
  • msoPatternDarkVertical = $0000000E;
  • msoPatternDarkDownwardDiagonal = $0000000F;
  • msoPatternDarkUpwardDiagonal = $00000010;
  • msoPatternSmallCheckerBoard = $00000011;
  • msoPatternTrellis = $00000012;
  • msoPatternLightHorizontal = $00000013;
  • msoPatternLightVertical = $00000014;
  • msoPatternLightDownwardDiagonal = $00000015;
  • msoPatternLightUpwardDiagonal = $00000016;
  • msoPatternSmallGrid = $00000017;
  • msoPatternDottedDiamond = $00000018;
  • msoPatternWideDownwardDiagonal = $00000019;
  • msoPatternWideUpwardDiagonal = $0000001A;
  • msoPatternDashedUpwardDiagonal = $0000001B;
  • msoPatternDashedDownwardDiagonal = $0000001C;
  • msoPatternNarrowVertical = $0000001D;
  • msoPatternNarrowHorizontal = $0000001E;
  • msoPatternDashedVertical = $0000001F;
  • msoPatternDashedHorizontal = $00000020;
  • msoPatternLargeConfetti = $00000021;
  • msoPatternLargeGrid = $00000022;
  • msoPatternHorizontalBrick = $00000023;
  • msoPatternLargeCheckerBoard = $00000024;
  • msoPatternSmallConfetti = $00000025;
  • msoPatternZigZag = $00000026;
  • msoPatternSolidDiamond = $00000027;
  • msoPatternDiagonalBrick = $00000028;
  • msoPatternOutlinedDiamond = $00000029;
  • msoPatternPlaid = $0000002A;
  • msoPatternSphere = $0000002B;
  • msoPatternWeave = $0000002C;
  • msoPatternDottedGrid = $0000002D;
  • msoPatternDivot = $0000002E;
  • msoPatternShingle = $0000002F;
  • msoPatternWave = $00000030.
MyFillFormat.Patterned(msoPatternLightHorizontal);
Háttérkép használata
UserPicture
procedure UserPicture(
PictureFile: Variant
);
Háttérkép megadását teszi lehetővé.
Paraméterek
PictureFile: Variant
A képet tartalmazó állomány elérési útja és neve.
MyFillFormat.UserPicture(ExtractFilePath(Application.ExeName)+'kep.jpg');

Excel grafikonok cikksorozat