From ae6efc0f98709f9f51358ed39c4b6413a1fff0a5 Mon Sep 17 00:00:00 2001 From: wp_xxyyzz Date: Wed, 26 Nov 2014 23:45:09 +0000 Subject: [PATCH] fpspreadsheet: Extend TsCellCombobox to handle several formatting items - will replace Fontname and FontSize combox. Not working correctly, yet. Update fpsctrls demos. git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3790 8e941d3f-bd1b-0410-a28a-d453659cc2b4 --- .../fpspreadsheet/examples/fpsctrls/main.lfm | 1748 +++++++++-------- .../fpspreadsheet/examples/fpsctrls/main.pas | 6 +- .../examples/fpsctrls_no_install/main.pas | 135 +- components/fpspreadsheet/fpspreadsheet.pas | 21 +- .../fpspreadsheet/fpspreadsheetctrls.lrs | 36 + .../fpspreadsheet/fpspreadsheetctrls.pas | 437 ++++- .../images/components/TSCELLCOMBOBOX.png | Bin 0 -> 900 bytes .../images/components/fpspreadsheetctrls.Spp | Bin 20457 -> 21245 bytes 8 files changed, 1483 insertions(+), 900 deletions(-) create mode 100644 components/fpspreadsheet/images/components/TSCELLCOMBOBOX.png diff --git a/components/fpspreadsheet/examples/fpsctrls/main.lfm b/components/fpspreadsheet/examples/fpsctrls/main.lfm index 8dd5f3024..0e6f7021f 100644 --- a/components/fpspreadsheet/examples/fpsctrls/main.lfm +++ b/components/fpspreadsheet/examples/fpsctrls/main.lfm @@ -2,18 +2,18 @@ object Form1: TForm1 Left = 541 Height = 600 Top = 214 - Width = 922 + Width = 876 Caption = 'Form1' - ClientHeight = 575 - ClientWidth = 922 + ClientHeight = 580 + ClientWidth = 876 Menu = MainMenu ShowHint = True LCLVersion = '1.3' object WorkbookTabControl: TsWorkbookTabControl Left = 0 - Height = 490 - Top = 85 - Width = 669 + Height = 497 + Top = 83 + Width = 623 TabIndex = 0 Tabs.Strings = ( 'Sheet1' @@ -23,9 +23,9 @@ object Form1: TForm1 WorkbookSource = WorkbookSource object WorksheetGrid: TsWorksheetGrid Left = 2 - Height = 460 - Top = 28 - Width = 665 + Height = 472 + Top = 23 + Width = 619 FrozenCols = 0 FrozenRows = 0 ReadFormulas = False @@ -77,9 +77,9 @@ object Form1: TForm1 end end object InspectorTabControl: TTabControl - Left = 674 - Height = 490 - Top = 85 + Left = 628 + Height = 497 + Top = 83 Width = 248 OnChange = InspectorTabControlChange TabIndex = 0 @@ -94,8 +94,8 @@ object Form1: TForm1 Visible = False object Inspector: TsSpreadsheetInspector Left = 2 - Height = 460 - Top = 28 + Height = 472 + Top = 23 Width = 244 Align = alClient RowCount = 25 @@ -108,7 +108,7 @@ object Form1: TForm1 'Options=boAutoCalc, boCalcBeforeSaving, boReadFormulas' 'FormatSettings=' ' ThousandSeparator=.' - ' DecimalSeparator=,' + ' DecimalSeparator=.' ' ListSeparator=;' ' DateSeparator=.' ' TimeSeparator=:' @@ -134,24 +134,24 @@ object Form1: TForm1 WorkbookSource = WorkbookSource Mode = imWorkbook ColWidths = ( - 109 - 110 + 111 + 112 ) end end object Splitter1: TSplitter - Left = 669 - Height = 490 - Top = 85 + Left = 623 + Height = 497 + Top = 83 Width = 5 Align = alRight ResizeAnchor = akRight end object ToolBar1: TToolBar Left = 0 - Height = 28 + Height = 26 Top = 24 - Width = 922 + Width = 876 AutoSize = True ButtonHeight = 26 ButtonWidth = 24 @@ -329,833 +329,27 @@ object Form1: TForm1 end object FontnameCombo: TsFontNameCombobox Left = 54 - Height = 28 + Height = 23 Top = 0 Width = 151 - ItemHeight = 20 + CellFormatItem = cfiFontName + WorkbookSource = WorkbookSource + ItemHeight = 15 ItemIndex = 62 - Items.Strings = ( - '@Arial Unicode MS' - '@Batang' - '@BatangChe' - '@DFKai-SB' - '@Dotum' - '@DotumChe' - '@FangSong' - '@Gulim' - '@GulimChe' - '@Gungsuh' - '@GungsuhChe' - '@KaiTi' - '@Malgun Gothic' - '@Meiryo' - '@Meiryo UI' - '@Microsoft JhengHei' - '@Microsoft YaHei' - '@MingLiU' - '@MingLiU_HKSCS' - '@MingLiU_HKSCS-ExtB' - '@MingLiU-ExtB' - '@MS Gothic' - '@MS Mincho' - '@MS PGothic' - '@MS PMincho' - '@MS UI Gothic' - '@NSimSun' - '@PMingLiU' - '@PMingLiU-ExtB' - '@SimHei' - '@SimSun' - '@SimSun-ExtB' - '18thCentury' - 'Aachen BT' - 'AcmeFont' - 'AdLib BT' - 'Aharoni' - 'Aldine401 BT' - 'Aldine721 BdCn BT' - 'Aldine721 BT' - 'Aldine721 Lt BT' - 'Alfredo' - 'Alien Encounters' - 'Allegro BT' - 'Almonte Snow' - 'Amelia BT' - 'Americana XBdCn BT' - 'AmericanText BT' - 'AmeriGarmnd BT' - 'Amerigo BT' - 'Amerigo Md BT' - 'AmerType Md BT' - 'Amethyst' - 'Andalus' - 'Angsana New' - 'AngsanaUPC' - 'Animals 1' - 'Animals 2' - 'AnticFont' - 'Aparajita' - 'Arabic Typesetting' - 'Architects Daughter' - 'Arial' - 'Arial Black' - 'Arial Narrow' - 'Arial Unicode MS' - 'Arimo' - 'Arrows1' - 'Arrows2' - 'Asimov' - 'Aurora BdCn BT' - 'Aurora Cn BT' - 'Autumn' - 'AvantGarde Bk BT' - 'AvantGarde Md BT' - 'Awards' - 'Baby Kruffy' - 'BakerSignet BT' - 'Balloons' - 'Balthazar' - 'BankGothic Lt BT' - 'BankGothic Md BT' - 'Bastion' - 'Batang' - 'BatangChe' - 'BauerBodni BdCn BT' - 'BauerBodni Blk BT' - 'BauerBodni BlkCn BT' - 'Bauhaus Hv BT' - 'Bauhaus Lt BT' - 'Bauhaus Md BT' - 'BellCent NamNum BT' - 'BellGothic Blk BT' - 'Belwe Bd BT' - 'Belwe Cn BT' - 'Belwe Lt BT' - 'Benguiat Bk BT' - 'BenguiatGot Bk BT' - 'Bernhard BdCn BT' - 'BernhardFashion BT' - 'BernhardMod BT' - 'BernhardTango BT' - 'Blackout' - 'BN Jinx' - 'BN Machine' - 'Bobcat' - 'BolsterBold' - 'Bolt Bd BT' - 'Book Antiqua' - 'Bookman Old Style' - 'BookmanITC Lt BT' - 'Bookshelf Symbol 7' - 'Borders1' - 'Borders2' - 'Borealis' - 'BOUTON International Symbols' - 'Boxes' - 'Bradley Hand ITC' - 'Brandish' - 'Bremen Bd BT' - 'Bremen Blk BT' - 'Broadway BT' - 'BroadwayEngraved BT' - 'Browallia New' - 'BrowalliaUPC' - 'Brush455 BT' - 'Brush738 BT' - 'BrushScript BT' - 'Brussels' - 'Buildings' - 'Bullets 4(Japanese)' - 'Bullets 5(Korean)' - 'Bullets1' - 'Bullets2' - 'Bullets3' - 'Bulmer BT' - 'Business&Government' - 'Busorama Md BT' - 'CabinSketch' - 'Calibri' - 'Calibri Light' - 'Calligraph421 BT' - 'Calligraph810 BT' - 'Calligraphic' - 'Calvin' - 'Cambria' - 'Cambria Math' - 'Candara' - 'Candida BT' - 'Candles' - 'Caslon Bd BT' - 'Caslon224 Bk BT' - 'Caslon540 BT' - 'CaslonOldFace BT' - 'CaslonOldFace Hv BT' - 'CaslonOpnface BT' - 'Cataneo BT' - 'Cataneo Lt BT' - 'Cataneo Swash BT' - 'CCLarge' - 'CCSmall' - 'CentSchbook BdCn BT' - 'CentSchbook BT' - 'CentSchbook Mono BT' - 'Century' - 'Century Gothic' - 'Century725 BdCn BT' - 'Century725 Blk BT' - 'Century725 BT' - 'Century725 Cn BT' - 'Century731 BT' - 'Century751 BT' - 'CenturyExpd BT' - 'CenturyOldst BT' - 'Charlesworth' - 'Charter Bd BT' - 'Charting' - 'ChelthmITC Bk BT' - 'Chinese Generic1' - 'Chinyen' - 'ChunkFive Roman' - 'Clarendon' - 'Clarendon Blk BT' - 'Clarendon BT' - 'Clarendon Cn BT' - 'Clarendon Hv BT' - 'Clarendon Lt BT' - 'ClassGarmnd BT' - 'Clocks' - 'CloisterBlack BT' - 'CloisterOpenFace BT' - 'Colbert' - 'Comfortaa' - 'Comic Sans MS' - 'CommercialScript BT' - 'CommonBullets' - 'Commons' - 'Compacta Bd BT' - 'Compacta Blk BT' - 'Compacta BT' - 'Compacta Lt BT' - 'Computers' - 'Consolas' - 'Constantia' - 'Coolsville' - 'Cooper Blk BT' - 'Cooper BlkHd BT' - 'Cooper BlkIt BT' - 'Cooper BlkItHd BT' - 'Cooper BlkOul BT' - 'Cooper Lt BT' - 'Cooper Md BT' - 'CopprplGoth Bd BT' - 'CopprplGoth BdCn BT' - 'CopprplGoth BT' - 'CopprplGoth Cn BT' - 'CopprplGoth Hv BT' - 'Corbel' - 'Cordia New' - 'CordiaUPC' - 'Corporate' - 'Courier' - 'Courier New' - 'Courier10 BT' - 'Cracked Johnnie' - 'Creepygirl' - 'DaunPenh' - 'Dauphin' - 'David' - 'Davida Bd BT' - 'Dayton' - 'Decorated035 BT' - 'DejaVu Sans' - 'DejaVu Sans Condensed' - 'DejaVu Sans Light' - 'DejaVu Sans Mono' - 'DejaVu Serif' - 'DejaVu Serif Condensed' - 'Deneane' - 'Detente' - 'DeVinne BT' - 'DeVinne Txt BT' - 'DF Calligraphic Ornaments LET' - 'DF Diversions LET' - 'DF Diversities LET' - 'DFKai-SB' - 'Digifit' - 'DilleniaUPC' - 'Distant Galaxy' - 'DokChampa' - 'DomBold BT' - 'DomCasual BT' - 'DomDiagonal Bd BT' - 'DomDiagonal BT' - 'Dominican' - 'Dotum' - 'DotumChe' - 'Dutch766 BT' - 'Dutch801 Rm BT' - 'Ebrima' - 'Electronics' - 'ElegaGarmnd BT' - 'Embassy BT' - 'Emmett' - 'Empire BT' - 'English111 Adagio BT' - 'English111 Presto BT' - 'English111 Vivace BT' - 'English157 BT' - 'EngraversGothic BT' - 'EngravrsRoman Bd BT' - 'EngravrsRoman BT' - 'EngrvrsOldEng Bd BT' - 'EngrvrsOldEng BT' - 'Enliven' - 'Eras Bd BT' - 'Eras Bk BT' - 'Eras Lt BT' - 'Eras Md BT' - 'Eras Ult BT' - 'Estrangelo Edessa' - 'Ethnocentric' - 'EucrosiaUPC' - 'Euphemia' - 'Euro Sign' - 'FangSong' - 'Festive' - 'Fingerpop' - 'Fixedsys' - 'Flareserif821 BT' - 'Flareserif821 Lt BT' - 'FlemishScript BT' - 'Flubber' - 'Folio BdCn BT' - 'Folio Bk BT' - 'Folio Lt BT' - 'Folio Md BT' - 'Folio XBd BT' - 'Food' - 'Formal436 BT' - 'Fraktur BT' - 'Frankfurter Venetian TT' - 'Franklin Gothic Medium' - 'FrankRuehl' - 'Freefrm710 BT' - 'Freefrm721 Blk BT' - 'Freefrm721 BT' - 'Freehand471 BT' - 'Freehand521 BT' - 'Freehand575 BT' - 'Freehand591 BT' - 'FreesiaUPC' - 'Freestyle Script' - 'French Script MT' - 'French111 BT' - 'FrizQuadrata BT' - 'FrysBaskerville BT' - 'Furniture' - 'Futura BdCn BT' - 'Futura Bk BT' - 'Futura Hv BT' - 'Futura Lt BT' - 'Futura LtCn BT' - 'Futura Md BT' - 'Futura MdCn BT' - 'Futura XBlk BT' - 'Futura XBlkCn BT' - 'Futura XBlkCnIt BT' - 'Futura XBlkIt BT' - 'FuturaBlack BT' - 'Gabriola' - 'Galliard BT' - 'Garamond' - 'GarmdITC Bk BT' - 'GarmdITC BkCn BT' - 'Gautami' - 'Gazzarelli' - 'Gentium Basic' - 'Gentium Book Basic' - 'GeographicSymbols' - 'Georgia' - 'Geotype TT' - 'Gisha' - 'Glockenspiel' - 'Good Times' - 'Gorilla BT' - 'Gothic720 BT' - 'Gothic720 Lt BT' - 'Gothic725 Bd BT' - 'Gothic725 Blk BT' - 'Gothic821 Cn BT' - 'GothicNo13 BT' - 'GoudyCatalog BT' - 'GoudyHandtooled BT' - 'GoudyHvyface BT' - 'GoudyHvyface Cn BT' - 'GoudyOlSt BT' - 'GoudyOlSt XBd BT' - 'GoudySans Blk BT' - 'GoudySans BlkIt BT' - 'GoudySans Lt BT' - 'GoudySans Md BT' - 'Greek Diner Inline TT' - 'Grizzly BT' - 'Grouch BT' - 'Gulim' - 'GulimChe' - 'Gungsuh' - 'GungsuhChe' - 'Hand Me Down S (BRK)' - 'HandelGothic BT' - 'Hansen' - 'Harvest' - 'HarvestItal' - 'Haxton Logos TT' - 'Heavy Heap' - 'Hobo BT' - 'Hollywood Hills' - 'Hombre' - 'HomePlanning' - 'HomePlanning2' - 'Household' - 'Humanst521 BT' - 'Humanst521 Cn BT' - 'Humanst521 Lt BT' - 'Humanst521 UBd BT' - 'Humanst521 XBd BT' - 'Humanst521 XBdCn BT' - 'Humanst531 Blk BT' - 'Humanst531 BT' - 'Humanst531 UBlk BT' - 'Humanst970 BT' - 'HumstSlab712 Blk BT' - 'HumstSlab712 BT' - 'Huxley Titling' - 'HuxleyVertical BT' - 'Hygiene' - 'Impact' - 'Imperial BT' - 'Impress BT' - 'Impuls BT' - 'Incised901 Bd BT' - 'Incised901 BdCn BT' - 'Incised901 BT' - 'Incised901 Ct BT' - 'Incised901 Lt BT' - 'Incised901 Nd BT' - 'Incised901 NdIt BT' - 'Induction' - 'Industrial736 BT' - 'Informal011 Blk BT' - 'Informal011 BT' - 'IowanOldSt Blk BT' - 'IrisUPC' - 'Iskoola Pota' - 'Italianate' - 'Japanese Generic1' - 'JasmineUPC' - 'Josefin Slab' - 'Juice ITC' - 'Kabel Bk BT' - 'Kabel Ult BT' - 'KaiTi' - 'Kalinga' - 'Kartika' - 'Kaufmann Bd BT' - 'Kaufmann BT' - 'Khmer UI' - 'Kidnap' - 'Kis BT' - 'KodchiangUPC' - 'Kokila' - 'Korean Generic1' - 'Korinna BT' - 'Kristen ITC' - 'Landmarks' - 'LandscapePlanning' - 'Lao UI' - 'Lapidary333 Blk BT' - 'Lapidary333 BT' - 'Latha' - 'Latin XCn BT' - 'Latin725 BT' - 'Latin725 Md BT' - 'Lato' - 'Lato Black' - 'Lato Hairline' - 'Lato Light' - 'Leelawadee' - 'LetterOMatic!' - 'Levenim MT' - 'Liberation Mono' - 'Liberation Sans' - 'Liberation Sans Narrow' - 'Liberation Serif' - 'Liberty BT' - 'Libra BT' - 'Life BT' - 'Lihong7SegFont' - 'LilyUPC' - 'Limousine' - 'Linux Biolinum G' - 'Linux Libertine Display G' - 'Linux Libertine G' - 'Lithograph' - 'LithographLight' - 'LittleLordFontleroy' - 'LubalGraph Bk BT' - 'LubalGraph XLt BT' - 'Lucia BT' - 'Lucian BT' - 'Lucida Console' - 'Lucida Handwriting' - 'Lucida Sans Unicode' - 'Lydian BT' - 'Lydian Csv BT' - 'Machine BT' - 'Mael' - 'Malgun Gothic' - 'Mangal' - 'Manorly' - 'Marlett' - 'Martina' - 'Medicine' - 'Meiryo' - 'Meiryo UI' - 'MelodBold' - 'Miama' - 'Microsoft Himalaya' - 'Microsoft JhengHei' - 'Microsoft New Tai Lue' - 'Microsoft PhagsPa' - 'Microsoft Sans Serif' - 'Microsoft Tai Le' - 'Microsoft Uighur' - 'Microsoft YaHei' - 'Microsoft Yi Baiti' - 'Military' - 'MilitaryID' - 'Millenium BdEx BT' - 'Minerva' - 'MingLiU' - 'MingLiU_HKSCS' - 'MingLiU_HKSCS-ExtB' - 'MingLiU-ExtB' - 'Mirarae BT' - 'Miriam' - 'Miriam Fixed' - 'MisterEarl BT' - 'Mistral' - 'Mixage Bk BT' - 'Modern' - 'Mongolian Baiti' - 'Monotype Corsiva' - 'MoolBoran' - 'Moonbeam' - 'MorseCode' - 'MS Gothic' - 'MS Mincho' - 'MS PGothic' - 'MS PMincho' - 'MS Reference Sans Serif' - 'MS Reference Specialty' - 'MS Sans Serif' - 'MS Serif' - 'MS UI Gothic' - 'MT Extra' - 'MurrayHill Bd BT' - 'Music' - 'MusicalSymbols' - 'MV Boli' - 'Mycalc' - 'Myriad Web Pro' - 'Myriad Web Pro Condensed' - 'Narkisim' - 'Nasalization' - 'NauticalFlags' - 'Neon Lights' - 'News701 BT' - 'News702 BT' - 'NewsGoth BdXCn BT' - 'NewsGoth BT' - 'NewsGoth Cn BT' - 'NewsGoth Dm BT' - 'NewsGoth Lt BT' - 'NewsGoth XCn BT' - 'Newtext Rg BT' - 'Nobile' - 'Normande BT' - 'Normande It BT' - 'Notram' - 'Novarese Bk BT' - 'November' - 'NSimSun' - 'Nunito' - 'Nuptial BT' - 'Nyala' - 'OfficePlanning' - 'Onyx BT' - 'Open Sans' - 'OpenSymbol' - 'OpineHeavy' - 'Orator10 BT' - 'Orator15 BT' - 'Orbit-B BT' - 'OrigGarmnd BT' - 'Ostrich Sans' - 'Ostrich Sans Dashed' - 'Ostrich Sans Rounded' - 'OzHandicraft BT' - 'Pacifico' - 'Palatino Linotype' - 'Papyrus' - 'Parisian BT' - 'ParkAvenue BT' - 'Parry Hotter' - 'Penultimate' - 'PenultimateLight' - 'PenultimateLightItal' - 'Permanent Marker' - 'PhrasticMedium' - 'Pica10 BT' - 'Pioneer BT' - 'Piranesi It BT' - 'Pirate' - 'Plantagenet Cherokee' - 'Plants' - 'Playbill BT' - 'PMingLiU' - 'PMingLiU-ExtB' - 'PosterBodoni BT' - 'PosterBodoni It BT' - 'PR Celtic Narrow' - 'Pristina' - 'PT Serif' - 'PTBarnum BT' - 'QuiverItal' - 'Raavi' - 'Revue BT' - 'Ribbon131 Bd BT' - 'Ribbon131 BT' - 'Rod' - 'Roland' - 'Roman' - 'Romana BT' - 'Rondalo' - 'Roundhand Blk BT' - 'RowdyHeavy' - 'Russel Write TT' - 'Sakkal Majalla' - 'Salina' - 'Schadow Blk BT' - 'Schadow BlkCn BT' - 'Schadow BT' - 'Schadow Lt BT' - 'Schneidler Blk BT' - 'Science' - 'Script' - 'Script12 BT' - 'Segoe Print' - 'Segoe Script' - 'Segoe UI' - 'Segoe UI Light' - 'Segoe UI Semibold' - 'Segoe UI Symbol' - 'Semaphore' - 'Serifa BdCn BT' - 'Serifa Blk BT' - 'Serifa BT' - 'Serifa Lt BT' - 'Serifa Th BT' - 'SF Movie Poster' - 'Shapes1' - 'Shapes2' - 'Shonar Bangla' - 'Shotgun BT' - 'ShotgunBlanks BT' - 'Shruti' - 'Sign Language' - 'Signs' - 'SimHei' - 'Simplified Arabic' - 'Simplified Arabic Fixed' - 'SimSun' - 'SimSun-ExtB' - 'Skinny' - 'Small Fonts' - 'Snowdrift' - 'Source Code Pro' - 'Source Code Pro Black' - 'Source Code Pro ExtraLight' - 'Source Code Pro Light' - 'Source Code Pro Semibold' - 'Source Sans Pro' - 'Souvenir Lt BT' - 'Space' - 'Splash' - 'Sports&Hobbies' - 'SportsFigures' - 'Staccato222 BT' - 'Staccato555 BT' - 'Stars1' - 'Stars2' - 'Stencil BT' - 'Stephen' - 'Steppes TT' - 'STIX' - 'STIX Math' - 'STIXGeneral' - 'STIXIntegralsD' - 'STIXIntegralsSm' - 'STIXIntegralsUp' - 'STIXIntegralsUpD' - 'STIXIntegralsUpSm' - 'STIXNonUnicode' - 'STIXSizeFiveSym' - 'STIXSizeFourSym' - 'STIXSizeOneSym' - 'STIXSizeThreeSym' - 'STIXSizeTwoSym' - 'STIXVariants' - 'Stuyvesant BT' - 'Stymie Lt BT' - 'Stymie Md BT' - 'Stymie XBd BT' - 'Stymie XBdCn BT' - 'Swis721 BT' - 'Swiss911 XCm BT' - 'Sylfaen' - 'Symbol' - 'SymbolITC Bk BT' - 'SymbolProp BT' - 'System' - 'Tahoma' - 'Tangerine' - 'Tango BT' - 'Tarzan' - 'Technology' - 'Tempus Sans ITC' - 'Terminal' - 'Terminator Two' - 'Thunderbird BT' - 'Times New Roman' - 'Toledo' - 'Tools' - 'Tracks' - 'Traditional Arabic' - 'Transportation' - 'Trebuchet MS' - 'Tunga' - 'TypoUpright BT' - 'Umbra BT' - 'unit_a3' - 'UNIT-A2' - 'UNIT-A3' - 'UnivrstyRoman Bd BT' - 'UnivrstyRoman BT' - 'ut-372' - 'Utsaah' - 'VAGRounded BT' - 'VAGRounded Lt' - 'Valken' - 'Vani' - 'Venetian301 BT' - 'Venetian301 Dm BT' - 'Verdana' - 'Vijaya' - 'Vineta BT' - 'Vivian' - 'Vollkorn Bold' - 'Vollkorn Bold Italic' - 'Vollkorn Italic' - 'Vollkorn Regular' - 'Vrinda' - 'Waverly' - 'Weather' - 'Webdings' - 'WeddingText BT' - 'Weidemann Bk BT' - 'Whimsy TT' - 'Windsor BT' - 'Windsor El BT' - 'Windsor Lt BT' - 'Windsor LtCn BT' - 'Windsor Oul BT' - 'Wingdings' - 'Wingdings 2' - 'Wingdings 3' - 'Woodcut' - 'WP Arabic Sihafa' - 'WP ArabicScript Sihafa' - 'WP BoxDrawing' - 'WP CyrillicA' - 'WP CyrillicB' - 'WP Greek Century' - 'WP Greek Courier' - 'WP Greek Helve' - 'WP Hebrew David' - 'WP IconicSymbolsA' - 'WP IconicSymbolsB' - 'WP Japanese' - 'WP MathA' - 'WP MathB' - 'WP MathExtendedA' - 'WP MathExtendedB' - 'WP MultinationalA Courier' - 'WP MultinationalA Helve' - 'WP MultinationalA Roman' - 'WP MultinationalB Courier' - 'WP MultinationalB Helve' - 'WP MultinationalB Roman' - 'WP Phonetic' - 'WP TypographicSymbols' - 'X-Files' - 'xpchen7SegFont' - 'Year supply of fairy cakes' - 'ZapfChan Bd BT' - 'ZapfChan Dm BT' - 'ZapfChan Md BT' - 'ZapfChan MdIt BT' - 'ZapfDingbats BT' - 'ZapfEllipt BT' - 'Zurich BdEx BT' - 'Zurich BdXCn BT' - 'Zurich Cn BT' - 'Zurich Ex BT' - 'ZWAdobeF' - ) TabOrder = 0 Text = 'Arial' - WorkbookSource = WorkbookSource end object sFontSizeCombobox1: TsFontSizeCombobox Left = 205 - Height = 28 + Height = 23 Top = 0 Width = 60 - ItemHeight = 20 + CellFormatItem = cfiFontName + WorkbookSource = WorkbookSource + ItemHeight = 15 ItemIndex = 2 - Items.Strings = ( - '8' - '9' - '10' - '11' - '12' - '14' - '16' - '18' - '20' - '22' - '24' - '26' - '28' - '32' - '36' - '48' - '72' - ) TabOrder = 1 Text = '10' - WorkbookSource = WorkbookSource end object ToolButton3: TToolButton Left = 739 @@ -1193,7 +387,7 @@ object Form1: TForm1 Left = 0 Height = 24 Top = 0 - Width = 922 + Width = 876 AutoSize = True ButtonHeight = 24 ButtonWidth = 24 @@ -1283,12 +477,52 @@ object Form1: TForm1 Caption = 'ToolButton44' Style = tbsDivider end + object FontColorCombobox: TsCellCombobox + Left = 261 + Height = 21 + Top = 0 + Width = 82 + CellFormatItem = cfiFontColor + WorkbookSource = WorkbookSource + ItemHeight = 15 + TabOrder = 0 + end + object BackgroundColorCombobox: TsCellCombobox + Left = 343 + Height = 21 + Top = 0 + Width = 92 + CellFormatItem = cfiBackgroundColor + WorkbookSource = WorkbookSource + ItemHeight = 15 + TabOrder = 1 + end + object sCellCombobox3: TsCellCombobox + Left = 435 + Height = 23 + Top = 0 + Width = 124 + CellFormatItem = cfiFontName + WorkbookSource = WorkbookSource + ItemHeight = 15 + TabOrder = 2 + end + object sCellCombobox4: TsCellCombobox + Left = 559 + Height = 23 + Top = 0 + Width = 50 + CellFormatItem = cfiFontSize + WorkbookSource = WorkbookSource + ItemHeight = 15 + TabOrder = 3 + end end object ToolBar3: TToolBar Left = 0 Height = 28 - Top = 52 - Width = 922 + Top = 50 + Width = 876 AutoSize = True Caption = 'ToolBar3' Constraints.MinHeight = 28 @@ -1306,7 +540,7 @@ object Form1: TForm1 TabOrder = 0 object CellIndicator: TsCellIndicator Left = 0 - Height = 28 + Height = 23 Top = 0 Width = 138 Align = alTop @@ -1319,7 +553,7 @@ object Form1: TForm1 Left = 144 Height = 24 Top = 0 - Width = 778 + Width = 732 Align = alClient BorderSpacing.Bottom = 2 TabOrder = 1 @@ -1337,8 +571,8 @@ object Form1: TForm1 Cursor = crVSplit Left = 0 Height = 5 - Top = 80 - Width = 922 + Top = 78 + Width = 876 Align = alTop ResizeAnchor = akTop end @@ -4073,15 +3307,123 @@ object Form1: TForm1 Caption = 'File' object MenuItem50: TMenuItem Action = AcFileOpen + Bitmap.Data = { + 36040000424D3604000000000000360000002800000010000000100000000100 + 2000000000000004000064000000640000000000000000000000FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF002C86 + D8702D88D8A62D87D8EA2D88D8F72D88D8F72D88D8F72D88D8F72D88D8F72D88 + D8F72D88D8F72D88D8F72D87D8F72D88D8F12C86D893FFFFFF00FFFFFF00338E + D9E6DCF0FAF0A7DDF4FD9EDBF4FF96DAF3FF8ED8F3FF86D7F3FF7FD4F2FF79D3 + F2FF72D2F1FF6CD0F1FF69CFF1FFC2EAF8FE338ED9F0FFFFFF00FFFFFF003594 + DAF7EFFAFEFFA1E9F9FF91E5F8FF81E1F7FF72DEF6FF63DAF5FF54D7F4FF47D3 + F3FF39D0F2FF2ECDF1FF26CBF0FFCAF2FBFF3594DAF7FFFFFF00FFFFFF00369A + DAF8F2FAFDFFB3EDFAFFA4E9F9FF95E6F8FF85E2F7FF76DEF6FF65DBF5FF57D7 + F4FF49D4F3FF3BD1F2FF30CEF1FFCCF2FBFF3598DAF7FFFFFF00FFFFFF0036A1 + DAF9F6FCFEFFC8F2FCFFB9EFFBFFACECFAFF9CE8F9FF8BE3F7FF7CE0F6FF6CDC + F6FF5DD9F5FF4FD6F4FF44D3F3FFD0F3FCFF359FDAF7FFFFFF00FFFFFF0037A6 + DAFAFEFFFFFFF8FDFFFFF6FDFFFFF5FCFFFFF3FCFEFFD8F6FCFF94E6F8FF85E3 + F7FF76DFF6FF68DBF5FF5CD8F4FFD7F4FCFF35A4DAF7FFFFFF00FFFFFF0035AB + DAFAE8F6FBFF94D4EFFF88CEEEFF73C1E9FFC9E9F6FFF2FCFEFFF3FCFEFFF2FC + FEFFF0FCFEFFEFFBFEFFEEFBFEFFFEFFFFFF36ABDAF7FFFFFF00FFFFFF0036AA + DAF2F1FAFDFF94DEF5FF93DCF4FF81D5F2FF6ACAEDFF6CCBEAFF85D3EFFF80D2 + EFFF7AD0EFFF76CFEEFF72CFEEFFE9F7FBFF34AEDAF3FFFFFF00FFFFFF0035AF + DAF0F7FCFEFF8EE4F8FF91DEF5FF9FE0F5FFACE1F6FFEFFBFEFFF4FDFEFFF3FC + FEFFF1FCFEFFEFFBFEFFEEFBFEFFFAFDFFF936AFDAD4FFFFFF00FFFFFF0036B3 + DAF8FDFEFEFFFEFFFFFFFEFEFFFFFDFEFFFFFEFFFFFFEAF7FBFF6BC7E4F96BC7 + E3F86BC7E3F86BC7E3F879CDE6F774CAE5E132B1D956FFFFFF00FFFFFF0034B4 + D9D05EC2E1FA60C3E2FA60C3E2FA60C3E2FA5FC3E2FA3CB6DBDD2CB2D8162CB2 + D80F2CB2D80F2CB2D80F2CB2D80F2CB3D80F2CB3D804FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00 + } end object MenuItem51: TMenuItem Action = AcFileSaveAs + Bitmap.Data = { + 36040000424D3604000000000000360000002800000010000000100000000100 + 2000000000000004000064000000640000000000000000000000BA6A3600B969 + 35B5B86935EEB76835FFB56835FFB46734FFB26634FFB06533FFAE6433FFAC63 + 32FFAA6232FFA96132FFA86031FFA76031FEA66031F1A86131C4BA6A35DEEBC6 + ADFFEAC5ADFFFEFBF8FFFEFBF8FFFEFBF8FFFEFBF8FFFEFBF8FFFEFBF8FFFEFB + F8FFFEFBF8FFFEFBF8FFFEFBF8FFC89A7CFFC79879FFA76031EDBA6B37FEEDCA + B3FFE0A27AFFFEFAF7FF62C088FF62C088FF62C088FF62C088FF62C088FF62C0 + 88FF62C088FF62C088FFFDF9F6FFCA8D65FFC99B7CFFA76031FEBB6C38FFEECC + B6FFE1A27AFFFEFAF7FFBFDCC2FFBFDCC2FFBFDCC2FFBFDCC2FFBFDCC2FFBFDC + C2FFBFDCC2FFBFDCC2FFFDF9F6FFCD9068FFCC9E81FFA86132FFBB6B38FFEFCE + B8FFE1A279FFFEFAF7FF62C088FF62C088FF62C088FF62C088FF62C088FF62C0 + 88FF62C088FF62C088FFFDF9F6FFCF936AFFCEA384FFAA6132FFBA6A36FFEFD0 + BBFFE2A27AFFFEFBF8FFFEFBF8FFFEFBF8FFFEFBF8FFFEFBF8FFFEFBF8FFFEFB + F8FFFEFBF8FFFEFBF8FFFEFBF8FFD3966DFFD2A78AFFAB6232FFBB6A36FFF0D2 + BEFFE2A37AFFE2A37AFFE1A37AFFE2A37BFFE1A37BFFE0A178FFDE9F77FFDD9F + 76FFDC9D74FFD99B72FFD89971FFD69970FFD5AB8EFFAD6333FFBB6A36FFF2D5 + C2FFE3A37AFFE3A37AFFE2A37BFFE2A37BFFE2A47BFFE1A279FFE0A178FFDEA0 + 77FFDE9E75FFDC9D74FFDA9B73FFD99B73FFDAB095FFAF6433FFBB6A36FFF2D8 + C5FFE3A47BFFE3A37AFFE3A47AFFE2A47BFFE2A37BFFE1A37BFFE1A279FFDFA0 + 77FFDE9F76FFDD9E74FFDB9C72FFDC9D74FFDDB59AFFB16534FFBB6B36FFF4D9 + C7FFE6A67DFFC88C64FFC98D65FFC98E67FFCB926CFFCB926DFFCA9069FFC88C + 65FFC88C64FFC88C64FFC88C64FFDA9C74FFE1BA9FFFB36634FFBB6B36FEF4DC + C9FFE7A77DFFF9ECE1FFF9ECE1FFF9EDE3FFFCF4EEFFFDFAF7FFFDF7F3FFFAED + E5FFF7E7DBFFF7E5D9FFF6E5D8FFDEA077FFE4BEA4FFB46734FFBC6B36FAF5DD + CCFFE7A87EFFFAF0E8FFFAF0E8FFC98D66FFFAF0E9FFFDF8F3FFFEFAF8FFFCF4 + EFFFF9E9DFFFF7E7DBFFF7E5D9FFE0A278FFE7C2A9FFB66835FFBC6B36F0F6DF + D0FFE8A87EFFFCF6F1FFFCF6F1FFC88C64FFFAF1E9FFFBF4EEFFFDFAF7FFFDF9 + F6FFFAF0E8FFF8E8DDFFF7E6DBFFE1A37AFFEFD5C3FFB76935FEBC6B36D8F6DF + D1FFE9AA80FFFEFAF6FFFDFAF6FFC88C64FFFBF3EEFFFBF1EAFFFCF6F2FFFEFB + F8FFFCF6F1FFF9ECE2FFF8E7DBFFEED0BAFFECD0BDFFBB703EF8BC6B369BF6E0 + D1FFF7E0D1FFFEFBF8FFFEFBF7FFFDF9F6FFFCF5F0FFFAF0EAFFFBF2EDFFFDF9 + F6FFFDFAF7FFFBF1EBFFF8E9DFFEECD0BDFBC9895EECB5693563BC6B3671BC6B + 3690BC6B36CCBC6B36EEBC6B36FABB6B36FEBB6B36FFBB6A36FFBB6A36FFBC6C + 39FFBD6E3BFFBB6D3AFFBB6B38EFBB703ECBB6693554FFFFFF00 + } end object MenuItem49: TMenuItem Caption = '-' end object MenuItem1: TMenuItem Action = AcFileExit + Bitmap.Data = { + 36040000424D3604000000000000360000002800000010000000100000000100 + 200000000000000400006400000064000000000000000000000000105500000B + 4FCC0007498A0005462400054700000648000006470000044500000445000004 + 4500000445000004450000044500000445000006480000084B00001B64CC4174 + B8FF2A5094EC0A1A5ED300084A8A000648240006470000044500000445000004 + 4500000445000004450000044500000445000006480000084B0000226DCC3F72 + B6FF225599FF3B6EB2FF2C5196EC0A1C60D3000749A4000648CC000648CC0006 + 48CC000648CC000648CC000648CC000648CC00074A9900084B00002571CC4174 + B8FF2C5FA3FF2D60A4FF23569AFF3D70B4FF334179FFBEBEBEFFD5D5D5FFD8D8 + D8FFDBDBDBFFDCDCDCFFDDDDDDFFDDDDDDFF001258CC00125800002875CC4477 + BBFF2C5FA3FF3568ACFF2B5EA2FF2E61A5FF334B87FFBBBBBBFFD3D3D3FFD5D5 + D5FFD8D8D8FFDBDBDBFFDCDCDCFFDDDDDDFF001F68CC001F6800002B79CC477A + BEFF2C5FA3FF376AAEFF2B5EA2FF376AAEFF33508CFFB8B8B8FFD0D0D0FFD3D3 + D3FFD5D5D5FFAAAAAAFFBEBEBEFFDCDCDCFF00246FCC00246F00002E7DCC497C + C0FF09336FFF215090FF2B5EA2FF396CB0FF335290FFB5B5B5FFCCCCCCFFD0D0 + D0FFD3D3D3FF9D9D9DFF9D9D9DFFBFBFBFFF002774CC00277400003181CC4C7F + C3FFBBBBBBFF22518CFF2C5FA3FF3B6EB2FF335593FFB3B3B3FFAAAAAAFFA0A0 + A0FFA0A0A0FFA0A0A0FFE4E4E4FFA0A0A0FF051E4D950B204600003485CC5083 + C7FF1D5094FF3265A9FF2D60A4FF3D70B4FF335897FFB0B0B0FFA2A2A2FFF2F2 + F2FFF2F2F2FFF2F2F2FFF2F2F2FFF2F2F2FF1A1A1A661A1A1A1A003688CC5386 + CAFF295CA0FF3F72B6FF3063A7FF3F72B6FF335A9AFFAEAEAEFFACACACFFA5A5 + A5FFA5A5A5FFA5A5A5FFFDFDFDFFA5A5A5FF122F60951029510000398BCC5588 + CCFF275A9EFF4174B8FF3164A8FF4174B8FF335D9EFFACACACFFC1C1C1FFC4C4 + C4FFC7C7C7FFA8A8A8FFA8A8A8FFBEBEBEFF003485CC00348500003B8ECC588B + CFFF1A4D91FF4376BAFF3265A9FF4376BAFF335FA1FFAAAAAAFFBFBFBFFFC1C1 + C1FFC4C4C4FFB1B1B1FFBBBBBBFFCCCCCCFF003789CC00378900003D91CC5D90 + D4FF3568ACFF285B9FFF1A4D91FF4477BBFF3361A4FFA9A9A9FFBDBDBDFFBFBF + BFFFC1C1C1FFC4C4C4FFC7C7C7FFC9C9C9FF003A8DCC003A8D00003F938A0E4A + 9CD33E75BFEC5487CBFF3669ADFF23569AFF3363A6FFA9A9A9FFBCBCBCFFBDBD + BDFFBFBFBFFFC1C1C1FFC4C4C4FFC7C7C7FF003C90CC003C9000003F9300003F + 9324003F938A0E4B9CD33F76C0EC5D90D4FF3365A9FFA0A0A0FFA9A9A9FFA9A9 + A9FFAAAAAAFFACACACFFAEAEAEFFB0B0B0FF003E93CC003E9300003F9300003F + 9300003F9300003F9424003F948A003E93CC004095CC004095CC004095CC0040 + 95CC004095CC004095CC004095CC004095CC00409599003F9400 + } end end object MnuEdit: TMenuItem @@ -4090,44 +3432,368 @@ object Form1: TForm1 Caption = 'Worksheet' object MnuAddSheet: TMenuItem Action = AcAddWorksheet + Bitmap.Data = { + 36040000424D3604000000000000360000002800000010000000100000000100 + 2000000000000004000064000000640000000000000000000000FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF001B1B1B581717 + 1775171717751717177517171775171717751717177517171775171717751717 + 177517171775171717751717177517171775171717751B1B1B583C3C3C70F0F0 + F0FFF0F0F0FFECECECFFE8E8E8FFE8E8E8FFE8E8E8FFE8E8E8FFE8E8E8FFE8E8 + E8FFE8E8E8FFE8E8E8FFECECECFFF0F0F0FFF0F0F0FF3C3C3C704B4B4B534C4C + 4C6E4C4C4C6EEBEBEBFFE4E4E4FFE4E4E4FFE4E4E4FFE4E4E4FFE4E4E4FFE4E4 + E4FFE4E4E4FFE4E4E4FFEBEBEBFF4C4C4C6E4C4C4C6E4B4B4B534C4C4C005151 + 51005656566CEFEFEFFFEAEAEAFFEAEAEAFFEAEAEAFFEAEAEAFFEAEAEAFFEAEA + EAFFEAEAEAFFEAEAEAFFEFEFEFFF5656566C515151004C4C4C00585858006161 + 61006161616BF4F4F4FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0 + F0FFF0F0F0FFF0F0F0FFF4F4F4FF6161616B61616100585858006A6A6A006A6A + 6A006A6A6A6AF8F8F8FFF6F6F6FFF6F6F6FFF6F6F6FFF6F6F6FFF6F6F6FFF6F6 + F6FFF6F6F6FF66A362FF368632FF266B22C43C6C39003B7A3400727272007272 + 720072727268FCFCFCFFFBFBFBFFFBFBFBFFFBFBFBFFFBFBFBFFFBFBFBFFFBFB + FBFFFBFBFBFF3C9B32FF2BDF1AFF16810BE10F8703000E8C00007A7A7A007A7A + 7A007A7A7A5AE9E9E9D3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6EBB + 66FF3EA333FF3EA333FF3DE22CFF178B0BDF0E8C00CC0E8D00997E7E7E007E7E + 7E007F7F7F227F7F7F597F7F7F667F7F7F667F7F7F667F7F7F667F7F7F661A93 + 0CE052E741FF52E741FF52E741FF52E741FF52E741FF109500CC7E7E7E007E7E + 7E007F7F7F00808080008080800080808000808080008080800080808000129C + 0099129D00CC129D00CC66EB55FF129D00CC129D00CC129C00997E7E7E007E7E + 7E007F7F7F00808080008080800080808000808080008080800080808000129D + 000013A1000014A400CC75EE64FF14A400CC13A10000129D00007E7E7E007E7E + 7E007F7F7F00808080008080800080808000808080008080800080808000129D + 000014A8000015A9009915A900CC15A9009914A80000129D0000 + } end object MenuItem2: TMenuItem Action = AcDeleteWorksheet + Bitmap.Data = { + 36040000424D3604000000000000360000002800000010000000100000000100 + 2000000000000004000064000000640000000000000000000000FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF001B1B1B581717 + 1775171717751717177517171775171717751717177517171775171717751717 + 177517171775171717751717177517171775171717751B1B1B583C3C3C70F0F0 + F0FFF0F0F0FFECECECFFE8E8E8FFE8E8E8FFE8E8E8FFE8E8E8FFE8E8E8FFE8E8 + E8FFE8E8E8FFE8E8E8FFECECECFFF0F0F0FFF0F0F0FF3C3C3C704B4B4B534C4C + 4C6E4C4C4C6EEBEBEBFFE4E4E4FFE4E4E4FFE4E4E4FFE4E4E4FFE4E4E4FFE4E4 + E4FFE4E4E4FFE4E4E4FFEBEBEBFF4C4C4C6E4C4C4C6E4B4B4B534C4C4C005151 + 51005656566CEFEFEFFFEAEAEAFFEAEAEAFFEAEAEAFFEAEAEAFFEAEAEAFFEAEA + EAFFEAEAEAFFEAEAEAFFEFEFEFFF5656566C515151004C4C4C00585858006161 + 61006161616BF4F4F4FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0 + F0FFF0F0F0FFF0F0F0FFF4F4F4FF6161616B61616100585858006A6A6A006A6A + 6A006A6A6A6AF8F8F8FFF6F6F6FFF6F6F6FFF6F6F6FFF6F6F6FFF6F6F6FFF6F6 + F6FFF6F6F6FFF6F6F6FFF8F8F8FF6A6A6A6A6A6A6A0034347400727272007272 + 720072727268FCFCFCFFFBFBFBFFFBFBFBFFFBFBFBFFFBFBFBFFFBFBFBFFFBFB + FBFFFBFBFBFFFBFBFBFFFCFCFCFF727272681C1C7600000080007A7A7A007A7A + 7A007A7A7A5AE9E9E9D3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6666 + B4FF333399FF333399FF282892F60B0B7FDF000080CC000084997E7E7E007E7E + 7E007F7F7F227F7F7F597F7F7F667F7F7F667F7F7F667F7F7F667F7F7F660C0C + 95E05E5EF7FF5E5EF7FF5E5EF7FF5E5EF7FF5E5EF7FF000098CC7E7E7E007E7E + 7E007F7F7F008080800080808000808080008080800080808000808080000000 + A6990000A7CC0000A7CC0000A7CC0000A7CC0000A7CC0000A699FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00 + } end object MenuItem3: TMenuItem Caption = '-' end object MenuItem4: TMenuItem Action = acRenameWorksheet + Bitmap.Data = { + 36040000424D3604000000000000360000002800000010000000100000000100 + 2000000000000004000064000000640000000000000000000000FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF001B1B1B581717 + 1775171717751717177517171775171717751717177517171775171717751717 + 177517171775171717751717177517171775171717751B1B1B583C3C3C70F0F0 + F0FFF0F0F0FFECECECFFE8E8E8FFE8E8E8FFE8E8E8FFE8E8E8FFE8E8E8FFE8E8 + E8FFE8E8E8FFE8E8E8FFECECECFFF0F0F0FFF0F0F0FF3C3C3C704B4B4B534C4C + 4C6E4C4C4C6EEBEBEBFFE4E4E4FFE4E4E4FFE4E4E4FFE4E4E4FFE4E4E4FFE4E4 + E4FFE4E4E4FFE4E4E4FFEBEBEBFF4C4C4C6E4C4C4C6E4B4B4B534C4C4C005151 + 51005656566CEFEFEFFFEAEAEAFFEAEAEAFFEAEAEAFF000000FF4F8393FFB2C6 + CCFFEAEAEAFFEAEAEAFFEFEFEFFF5656566C515151004C4C4C00585858006161 + 61006161616BF4F4F4FFF0F0F0FFF0F0F0FFF0F0F0FF79AFC1FFD9F4FFFF3E9B + ACFFB0CFD5FFF0F0F0FFF4F4F4FF6161616B61616100585858006A6A6A006A6A + 6A006A6A6A6AF8F8F8FFF6F6F6FFF6F6F6FFF6F6F6FFD2E4EAFF49B3C4FF79E6 + F7FF3F9DADFFB5D4DAFFF8F8F8FF6A6A6A6A6A6A6A006A6A6A00727272007272 + 720072727268FCFCFCFFFBFBFBFFFBFBFBFFFBFBFBFFFBFBFBFFBFE5EBFF4AB4 + C5FF79E6F7FF419EAFFFB9D8DEFF7272726872727200727272007A7A7A007A7A + 7A007A7A7A5AE9E9E9D3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC1E8 + EEFF4BB6C7FF79E6F7FF3496A8F44D6F7681444444003C3C8A007E7E7E007E7E + 7E007F7F7F227F7F7F597F7F7F667F7F7F667F7F7F667F7F7F667F7F7F667F7F + 7F66538B948C1494A9D379E6F7FF2D2D2D8F1212122E00009C007E7E7E007E7E + 7E007F7F7F008080800080808000808080008080800080808000808080008080 + 80006E85890001A2BA3F4A4A4A6CF7F7F7FF1A1A468E00009F467E7E7E007E7E + 7E007F7F7F008080800080808000808080008080800080808000808080008080 + 80006E85890001A3BB005454542438386F7C8080FFFF0101B1C17E7E7E007E7E + 7E007F7F7F008080800080808000808080008080800080808000808080008080 + 80006E85890001A3BB00555555002B2B9D390101DEAF0101C640 + } end end object MnuColumn: TMenuItem Caption = 'Column' object MenuItem90: TMenuItem Action = AcColAdd + Bitmap.Data = { + 36040000424D3604000000000000360000002800000010000000100000000100 + 2000000000000004000064000000640000000000000000000000FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00D69E + 72C4D3996EF4D19668FFCE9263FFCB8E5EFFC98A5BFFC78756FFC38452FFC384 + 52FFC38452FFC38452FFC38452FFC38452FFBB7742B0FFFFFF00FFFFFF00D7A1 + 75FFF8F2EDFFF7F0EAFFF6EDE6FFF4EAE2FFF3E7DEFFF1E4DBFFF0E2D8FFF0E2 + D8FFF0E2D8FFF0E2D8FFF0E2D8FFF0E2D8FFC58A5DFDFFFFFF00FFFFFF00D9A4 + 7AFFF9F3EEFF1D5F21FF226526FF276D2CFFFFFFFFFFFFFFFFFFFFFFFFFFEAC7 + ADFFFFFFFFFFFFFFFFFFFFFFFFFFF0E2D8FFC68C5FFFFFFFFF00FFFFFF00DDA8 + 7EFFF9F3EFFF276D2CFF84C68AFF347E3AFFEBD0BBFFEBD0BBFFEBD1BDFFEACD + B5FFEACDB5FFEACDB5FFEACDB5FFF0E2D8FFC68A5CFFFFFFFF00FFFFFF00DFAA + 82FFF9F3EFFF2E7533FF92CC97FF3B8842FFFFFFFFFFFFFFFFFFFFFFFFFFEACF + BAFFFBF6F2FFFFFFFFFFFFFFFFFFF0E2D8FFC88D5FFFFFFFFF00FFFFFF00E1AE + 87FFFAF4F0FF347E3AFFA0D3A4FF42924AFFEACCB3FFEACCB3FFEACEB7FFE8C7 + ACFFE8C7ACFFE8C8B0FFE8C8AEFFF0E2D8FFC48654FFFFFFFF00FFFFFF00E3B1 + 8CFFFAF6F1FF3B8842FFACD8B0FF489B51FFFFFFFFFFFFFFFFFFFFFFFFFFE8C7 + ACFFFFFFFFFFFFFFFFFFFFFFFFFFF1E5DBFFC68655FFFFFFFF00FFFFFF00E5B4 + 8FFFFAF6F2FF42924AFFB6DDBAFF4FA358FFE9C7ADFFE9C9AEFFE9C9B0FFE8C7 + ACFFE9C9B0FFE8C8B0FFE8CCB5FFF2E7DEFFC88A59FFFFFFFF00FFFFFF00E7B7 + 94FFFBF7F4FF489B51FFB9DFBDFF54AB5EFFFFFFFFFFFFFFFFFFFFFFFFFFE8C7 + ACFF84B094FF257341FF196B37FF247240FF6C7C4AFFFFFFFF00FFFFFF00E9BA + 98FFFBF7F4FF4FA358FF4FA358FF59B163FFE9C3A6FFE9C3A6FFE9C3A6FFA2AE + 8EFF288C53FF64BA8DFF95D2B2FF64BA8DFF288C53FF196B378CFFFFFF00EBBD + 9BFFFBF7F4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2270 + 3EFF62BA8BFF60BA87FFFFFFFFFF60B987FF67BC8FFF196B37F7FFFFFF00ECBF + 9EFFFBF7F4FF9CD5A5FF98D3A1FF94D09DFF90CE98FF8BCB93FF87C98EFF317B + 4CFF9CD4B6FFFFFFFFFFFFFFFFFFFFFFFFFF95D2B2FF196B37FFFFFFFF00EEC1 + A1EBFBF7F4FFFBF7F4FFFBF7F4FFFBF7F4FFFBF7F4FFFBF7F4FFFBF7F4FF4989 + 60FF90D3B1FF92D6B1FFFFFFFFFF65BC8CFF67BC8FFF196B37F7FFFFFF00EFC2 + A37EEFC1A2E3EDC09FFFEBBE9DFFEBBC9AFFE9BA96FFE7B793FFE6B590FF9DAF + 91FF61AB81FF95D4B4FFBAE6D0FF6ABB8FFF2D8F57FF196B378CFFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00A2AE8EFF5F9771FF4F8E66FF49895FFFA2AE8EFFFFFFFF00 + } end object MenuItem93: TMenuItem Action = AcColDelete + Bitmap.Data = { + 36040000424D3604000000000000360000002800000010000000100000000100 + 2000000000000004000064000000640000000000000000000000FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00D69E + 72C4D3996EF4D19668FFCE9263FFCB8E5EFFC98A5BFFC78756FFC38452FFC384 + 52FFC38452FFC38452FFC38452FFC38452FFBB7742B0FFFFFF00FFFFFF00D7A1 + 75FFF8F2EDFFF7F0EAFFF6EDE6FFF4EAE2FFF3E7DEFFF1E4DBFFF0E2D8FFF0E2 + D8FFF0E2D8FFF0E2D8FFF0E2D8FFF0E2D8FFC58A5DFDFFFFFF00FFFFFF00D9A4 + 7AFFF9F3EEFF1C11EAFF1C11EAFF231AECFFFFFFFFFFFFFFFFFFFFFFFFFFEAC7 + ADFFFFFFFFFFFFFFFFFFFFFFFFFFF0E2D8FFC68C5FFFFFFFFF00FFFFFF00DDA8 + 7EFFF9F3EFFF1C11EAFF9399F9FF2E26EEFFEBD0BBFFEBD0BBFFEBD1BDFFEACD + B5FFEACDB5FFEACDB5FFEACDB5FFF0E2D8FFC68A5CFFFFFFFF00FFFFFF00DFAA + 82FFF9F3EFFF231AECFF9CA2FAFF3A35F1FFFFFFFFFFFFFFFFFFFFFFFFFFEACF + BAFFFBF6F2FFFFFFFFFFFFFFFFFFF0E2D8FFC88D5FFFFFFFFF00FFFFFF00E1AE + 87FFFAF4F0FF2E26EEFFA6ADFBFF4845F4FFEACCB3FFEACCB3FFEACEB7FFE8C7 + ACFFE8C7ACFFE8C8B0FFE8C8AEFFF0E2D8FFC48654FFFFFFFF00FFFFFF00E3B1 + 8CFFFAF6F1FF3A35F1FFB1B9FBFF5654F7FFFFFFFFFFFFFFFFFFFFFFFFFFE8C7 + ACFFFFFFFFFFFFFFFFFFFFFFFFFFF1E5DBFFC68655FFFFFFFF00FFFFFF00E5B4 + 8FFFFAF6F2FF5654F7FFC1CBFCFF6D6FFCFFE9C7ADFFE9C9AEFFE9C9B0FFE8C7 + ACFFE9C9B0FFE8C8B0FFE8CCB5FFF2E7DEFFC88A59FFFFFFFF00FFFFFF00E7B7 + 94FFFBF7F4FF6263FAFFC4CEFDFF7478FEFFFFFFFFFFFFFFFFFFFFFFFFFFE8C7 + ACFF95B0E3FF235CC2FF0543BCFF1E58BEFF6B6C8AFFFFFFFF00FFFFFF00E9BA + 98FFFBF7F4FF6D6FFCFF7478FEFF7478FEFFE9C3A6FFE9C3A6FFE9C3A6FF818D + B5FF2865C8FF2177E6FF0579EAFF0164DDFF064EBCFF0345B87AFFFFFF00EBBD + 9BFFFBF7F4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF164B + AEFF639DF4FF187FFFFF0076F8FF0076EEFF0368E1FF0345B9E4FFFFFF00ECBF + 9EFFFBF7F4FF9CD5A5FF98D3A1FF94D09DFF90CE98FF8BCB93FF87C98EFF0543 + BCFFAECDFEFFFFFFFFFFFFFFFFFFFFFFFFFF187FEFFF0442BCFEFFFFFF00EEC1 + A1EBFBF7F4FFFBF7F4FFFBF7F4FFFBF7F4FFFBF7F4FFFBF7F4FFFBF7F4FF255D + C2FF8DB5F6FF4D92FFFF1177FFFF2186FFFF408AEBFF0344B9DEFFFFFF00EFC2 + A37EEFC1A2E3EDC09FFFEBBE9DFFEBBC9AFFE9BA96FFE7B793FFE6B590FF96B1 + E3FF3D76D2FF8DB5F7FFB8D6FEFF72A8F5FF2E6BCAFF0443BA6DFFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF007591C3FF235BC0FF0543BCFF1D58BFFF7591C2FFFFFFFF00 + } end end object MnuRow: TMenuItem Caption = 'Row' object MenuItem91: TMenuItem Action = AcRowAdd + Bitmap.Data = { + 36040000424D3604000000000000360000002800000010000000100000000100 + 2000000000000004000064000000640000000000000000000000FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00D69E + 72C4D3996EF4D19668FFCE9263FFCB8E5EFFC98A5BFFC78756FFC38452FFC384 + 52FFC38452FFC38452FFC38452FFC38452FFBB7742B0FFFFFF00FFFFFF00D7A1 + 75FFF8F2EDFFF7F0EAFFF6EDE6FFF4EAE2FFF3E7DEFFF1E4DBFFF0E2D8FFF0E2 + D8FFF0E2D8FFF0E2D8FFF0E2D8FFF0E2D8FFC58A5DFDFFFFFF00FFFFFF00D9A4 + 7AFFF9F3EEFFEBD2BEFFFFFFFFFFEBD3BFFFFFFFFFFFFFFFFFFFFFFFFFFFEAC7 + ADFFFFFFFFFFFFFFFFFFFFFFFFFFF0E2D8FFC68C5FFFFFFFFF00FFFFFF00DDA8 + 7EFFF9F3EFFF4FA358FF489B51FF42924AFF42924AFF3B8842FF347E3AFF2E75 + 33FF276D2CFF226526FF1D5F21FFF0E2D8FFC68A5CFFFFFFFF00FFFFFF00DFAA + 82FFF9F3EFFF58B162FFB9DFBDFFB6DDBAFFB6DDBAFFACD8B0FFA0D3A4FF92CC + 97FF84C68AFF79C17EFF226526FFF0E2D8FFC88D5FFFFFFFFF00FFFFFF00E1AE + 87FFFAF4F0FF59B163FF54AB5EFF4FA358FF4FA358FF489B51FF42924AFF3B88 + 42FF347E3AFF2E7533FF276D2CFFF0E2D8FFC48654FFFFFFFF00FFFFFF00E3B1 + 8CFFFAF6F1FFEAC9AEFFFFFFFFFFEAC9B0FFFFFFFFFFFFFFFFFFFFFFFFFFE8C7 + ACFFFFFFFFFFFFFFFFFFFFFFFFFFF1E5DBFFC68655FFFFFFFF00FFFFFF00E5B4 + 8FFFFAF6F2FFE9C6AAFFE9C6ACFFEAC7ACFFE9C7ADFFE9C9AEFFE9C9B0FFE8C7 + ACFFE9C9B0FFE8C8B0FFE8CCB5FFF2E7DEFFC88A59FFFFFFFF00FFFFFF00E7B7 + 94FFFBF7F4FFE9C3A6FFFFFFFFFFE8C4A9FFFFFFFFFFFFFFFFFFFFFFFFFFE8C7 + ACFF84B094FF257341FF196B37FF247240FF6C7C4AFFFFFFFF00FFFFFF00E9BA + 98FFFBF7F4FFE9C3A6FFE9C3A6FFE9C3A6FFE9C3A6FFE9C3A6FFE9C3A6FFA2AE + 8EFF288C53FF64BA8DFF95D2B2FF64BA8DFF288C53FF196B378CFFFFFF00EBBD + 9BFFFBF7F4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2270 + 3EFF62BA8BFF60BA87FFFFFFFFFF60B987FF67BC8FFF196B37F7FFFFFF00ECBF + 9EFFFBF7F4FF9CD5A5FF98D3A1FF94D09DFF90CE98FF8BCB93FF87C98EFF317B + 4CFF9CD4B6FFFFFFFFFFFFFFFFFFFFFFFFFF95D2B2FF196B37FFFFFFFF00EEC1 + A1EBFBF7F4FFFBF7F4FFFBF7F4FFFBF7F4FFFBF7F4FFFBF7F4FFFBF7F4FF4989 + 60FF90D3B1FF92D6B1FFFFFFFFFF65BC8CFF67BC8FFF196B37F7FFFFFF00EFC2 + A37EEFC1A2E3EDC09FFFEBBE9DFFEBBC9AFFE9BA96FFE7B793FFE6B590FF9DAF + 91FF61AB81FF95D4B4FFBAE6D0FF6ABB8FFF2D8F57FF196B378CFFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00A2AE8EFF5F9771FF4F8E66FF49895FFFA2AE8EFFFFFFFF00 + } end object MenuItem92: TMenuItem Action = AcRowDelete + Bitmap.Data = { + 36040000424D3604000000000000360000002800000010000000100000000100 + 2000000000000004000064000000640000000000000000000000FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00D69D + 72C4D3976DF4D09568FFCE9062FFCB8C5DFFC9885BFFC78655FFC28252FFC282 + 52FFC28252FFC28252FFC28252FFC28252FFBA7642B0FFFFFF00FFFFFF00D79F + 75FFF8F1ECFFF7EFE9FFF6ECE6FFF4E9E2FFF3E6DDFFF1E3DBFFF0E2D8FFF0E2 + D8FFF0E2D8FFF0E2D8FFF0E2D8FFF0E2D8FFC5885DFDFFFFFF00FFFFFF00D9A2 + 79FFF9F2EDFFEBD0BDFFFFFFFFFFEBD2BFFFFFFFFFFFFFFFFFFFFFFFFFFFEAC5 + ACFFFFFFFFFFFFFFFFFFFFFFFFFFF0E2D8FFC68B5EFFFFFFFF00FFFFFF00DDA6 + 7DFFF9F3EFFF6C6CFCFF6262FAFF6262FAFF5353F7FF4644F4FF3835F1FF2C26 + EEFF211AECFF1B11E9FF1B11E9FFF0E2D8FFC6895CFFFFFFFF00FFFFFF00DFA8 + 81FFF9F3EFFF7476FEFFC3CCFDFFC3CCFDFFC0CAFCFFBAC2FCFFB1B8FBFFA5AA + FBFF9CA0FAFF9398F9FF1B11E9FFF0E2D8FFC88B5EFFFFFFFF00FFFFFF00E1AE + 87FFFAF4F0FF7476FEFF7476FEFF7476FEFF6C6CFCFF6262FAFF5353F7FF4644 + F4FF3835F1FF2C26EEFF211AECFFF0E2D8FFC48454FFFFFFFF00FFFFFF00E3AF + 8BFFFAF5F0FFEAC9AEFFFFFFFFFFEAC8B0FFFFFFFFFFFFFFFFFFFFFFFFFFE8C7 + ACFFFFFFFFFFFFFFFFFFFFFFFFFFF1E4DBFFC58555FFFFFFFF00FFFFFF00E5B2 + 8FFFFAF6F2FFE9C4A9FFE9C4ABFFEAC6ACFFE9C7ADFFE9C8ADFFE9C8AFFFE8C7 + ACFFE9C8AFFFE8C7B0FFE8CBB4FFF2E7DEFFC88858FFFFFFFF00FFFFFF00E7B6 + 93FFFBF6F3FFE9C1A5FFFFFFFFFFE8C2A8FFFFFFFFFFFFFFFFFFFFFFFFFFE8C7 + ACFF95AFE3FF235AC1FF0541BBFF1E56BEFF6B6B89FFFFFFFF00FFFFFF00E9B9 + 97FFFBF6F3FFE9C1A5FFE9C1A5FFE9C1A5FFE9C1A5FFE9C1A5FFE9C1A5FF818C + B5FF2862C8FF2075E6FF0577E9FF0164DDFF064BBCFF0342B77AFFFFFF00EBBC + 9BFFFBF6F3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1648 + AEFF629CF4FF177BFFFF0073F8FF0073EEFF0366E1FF0342B9E4FFFFFF00ECBE + 9EFFFBF6F3FF9BD5A3FF97D3A0FF94D09DFF90CE97FF8BCB92FF87C98DFF0541 + BBFFAECCFEFFFFFFFFFFFFFFFFFFFFFFFFFF187BEEFF0441BCFEFFFFFF00EEBF + A0EBFBF6F3FFFBF6F3FFFBF6F3FFFBF6F3FFFBF6F3FFFBF6F3FFFBF6F3FF255B + C1FF8CB2F6FF4D91FFFF1174FFFF2184FFFF3F86EBFF0342B9DEFFFFFF00EFC1 + A37EEFC0A1E3EDBF9FFFEBBD9DFFEBBB99FFE9B995FFE7B693FFE6B390FF95B0 + E3FF3D73D1FF8DB3F7FFB8D5FEFF71A5F5FF2E69CAFF0440BA6DFFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF007590C3FF2359BFFF0541BBFF1D55BFFF758FC1FFFFFFFF00 + } end end object MenuItem9: TMenuItem Caption = 'Cell' object MenuItem89: TMenuItem Action = AcBackgroundColorDialog + Bitmap.Data = { + 36040000424D3604000000000000360000002800000010000000100000000100 + 2000000000000004000064000000640000000000000000000000FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00B07A58FFB07A58FFB07A58FFFFFFFF00DD9BD9FFDD9BD9FFDD9BD9FFFFFF + FF00B177FFFFB177FFFFB177FFFFFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00B07A58FFB07A58FFB07A58FFFFFFFF00DD9BD9FFDD9BD9FFDD9BD9FFFFFF + FF00B177FFFFB177FFFFB177FFFFFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00B07A58FFB07A58FFB07A58FFFFFFFF00DD9BD9FFDD9BD9FFDD9BD9FFFFFF + FF00B177FFFFB177FFFFB177FFFFFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00B2EBD0FFB2EBD0FFB2EBD0FFFFFFFF006DCC50FF6DCC50FF6DCC50FFFFFF + FF00EBB060FFEBB060FFEBB060FFFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00B2EBD0FFB2EBD0FFB2EBD0FFFFFFFF006DCC50FF6DCC50FF6DCC50FFFFFF + FF00EBB060FFEBB060FFEBB060FFFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00B2EBD0FFB2EBD0FFB2EBD0FFFFFFFF006DCC50FF6DCC50FF6DCC50FFFFFF + FF00EBB060FFEBB060FFEBB060FFFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF006B6FFEFF6B6FFEFF6B6FFEFFFFFFFF0073AAFFFF73AAFFFF73AAFFFFFFFF + FF0067D5F0FF67D5F0FF67D5F0FFFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF006B6FFEFF6B6FFEFF6B6FFEFFFFFFFF0073AAFFFF73AAFFFF73AAFFFFFFFF + FF0067D5F0FF67D5F0FF67D5F0FFFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF006B6FFEFF6B6FFEFF6B6FFEFFFFFFFF0073AAFFFF73AAFFFF73AAFFFFFFFF + FF0067D5F0FF67D5F0FF67D5F0FFFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00 + } end object MenuItem68: TMenuItem Caption = 'Font' object MenuItem69: TMenuItem Action = AcCellFontDialog + Bitmap.Data = { + 36040000424D3604000000000000360000002800000010000000100000000100 + 2000000000000004000064000000640000000000000000000000FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00CE68 + 38AEDA8F5DFEDB9060FFD78350EDC4502B8DBD422310BC3F222AC34D2BA2D071 + 42EAD67E51FFD57C4DFFC65531BDB6391D31FFFFFF00FFFFFF00FFFFFF00CA5C + 2F0ACB5F3044E1A475FFDA8C58ECC6522C3DFFFFFF00FFFFFF00BF452413C348 + 277FDC966BFFDB8F60FFBD3F2154B6381E02FFFFFF00FFFFFF00FFFFFF00FFFF + FF00CB5D3001D3743F9BE2A97CFFCC663799FFFFFF00FFFFFF00FFFFFF00CC63 + 37B1DFA077FFDA895AFFBB3E2222FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00CC633215DB935EEAE2A779FFD8834AD3CF6A3AB2CE6839B5D57A + 45D8E3A881FFD98656F9BE41231BFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00CF6A365CDF9D68F6DA8B52D1CB5F314EC7592E2ACD67 + 37A0E1A67AFFD88653F2BF46250DFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00D06A3503D78042AADF9F6AF7CD663466C95D2F0ACC61 + 3388E1A679FFD57A44D2C24A2706FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00D1713822DE9B63E2DC965EDFCF693554CF69 + 3580E2A97CFFD16C3AA5FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00D4793C77E2A670F7DA8847ADD67E + 43A0E4AE82FFCF6D3A99FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00D67D3B1CDD9656BAE3A973F2E1A8 + 73F5E1A471F7D3773E98CB5F3008FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00D7833E53E2A76CDEE9BC91FFE7BA + 8FFFE7B78BFFE2A471FBD67E42B6CB5C2F0AFFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00D8874040D88B4385DA8E4994D989 + 438FD8844090D884419AD3733A8ACC62320DC95B2E01FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00 + } end object MenuItem70: TMenuItem Caption = '-' @@ -4135,18 +3801,162 @@ object Form1: TForm1 object MenuItem71: TMenuItem Action = AcFontBold AutoCheck = True + Bitmap.Data = { + 36040000424D3604000000000000360000002800000010000000100000000100 + 2000000000000004000064000000640000000000000000000000FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF003C3C3C60343434AF2D2D2DBF262626BF1F1F1F8F1919198F1313 + 13BF0D0D0D8F09090920FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF003D3D3D7F404040FF2F2F2FCFFFFFFF00FFFFFF001B1B + 1B70242424FF0F0F0FEF0A0A0A20FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF004646467F464646FF383838BFFFFFFF00FFFFFF00FFFF + FF001C1C1CFF292929FF1010107FFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF004F4F4F7F4D4D4DFF414141BFFFFFFF00FFFFFF002B2B + 2B10262626FF2D2D2DFF17171770FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF005858587F535353FF4A4A4ABFFFFFFF00FFFFFF003434 + 349F383838FF262626CF1F1F1F10FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF006060607F595959FF535353DF4C4C4C7F454545CF4444 + 44FF363636BFFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF006767677F5F5F5FFF5B5B5BBFFFFFFF004D4D4D104646 + 46DF464646FF3838389FFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF006D6D6D7F656565FF636363BFFFFFFF00FFFFFF004F4F + 4F7F4E4E4EFF414141FFFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF007373737F696969FF6A6A6ABFFFFFFF00FFFFFF005858 + 589F545454FF4A4A4ACFFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF0077777760777777CF747474FF707070EF6B6B6B7F656565AF6060 + 60EF5959599F53535310FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00 + } end object MenuItem72: TMenuItem Action = AcFontItalic AutoCheck = True + Bitmap.Data = { + 36040000424D3604000000000000360000002800000010000000100000000100 + 2000000000000004000064000000640000000000000000000000FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00343434802D2D2DC0262626C01F1F1FC0191919B0FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF0036363640353535FF282828FFFFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00383838E0383838FF2A2A2A50FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0041414190444444FF323232A0FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF004A4A4A30454545FF3C3C3CF0FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF004C4C4CE0494949FF3D3D + 3D50FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0054545490525252FF4646 + 46A0FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF005C5C5C30575757FF4F4F + 4FF0FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF005E5E5EE05959 + 59FF51515160FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF006B6B6B80656565F06060 + 60FF595959F0535353C0FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00 + } end object MenuItem73: TMenuItem Action = AcFontUnderline AutoCheck = True + Bitmap.Data = { + 36040000424D3604000000000000360000002800000010000000100000000100 + 2000000000000004000064000000640000000000000000000000FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF002B2B2BFF242424FF1E1E1EFF171717FF121212FF0C0C + 0CFF070707FF030303FFFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00363636202F2F2F9F282828BF212121BF1B1B + 1B8F14141430FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00464646203F3F3FEF383838CF31313120FFFFFF002323 + 23401C1C1CCF16161620FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF004F4F4F8F4B4B4BFF41414150FFFFFF00FFFFFF00FFFF + FF00242424401E1E1E8FFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00585858BF515151FFFFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00262626BFFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00606060BF595959FFFFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF002F2F2FBFFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00676767BF616161FFFFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00383838BFFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF006D6D6DBF686868FFFFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00414141BFFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00737373BF6E6E6EFFFFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF004A4A4ABFFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00777777BF747474FFFFFFFF00FFFFFF00FFFFFF00FFFF + FF0059595910535353CFFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF0077777760777777EF777777FF7575758FFFFFFF00FFFFFF00FFFF + FF00616161AF5B5B5BFF54545470FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00 + } end object MenuItem74: TMenuItem Action = AcFontStrikeout AutoCheck = True + Bitmap.Data = { + 36040000424D3604000000000000360000002800000010000000100000000100 + 2000000000000004000064000000640000000000000000000000FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00343434662D2D2DEE262626CC1F1F1F77191919661313 + 13770D0D0D88FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF003D3D3D66373737FF2F2F2F11FFFFFF00FFFFFF00FFFF + FF00141414EE0F0F0F77FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00464646663F3F3F77FFFFFF00FFFFFF00FFFFFF00FFFF + FF001C1C1CFF161616DDFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF004F4F4F11FFFFFF00FFFFFF00FFFFFF00323232662B2B + 2BDD323232FF1E1E1ECCFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF007777 + 7775777777FF777777FF777777FF777777FF777777FF5F5F5FFF3C3C3CFF1818 + 18FF000000FF000000FF000000FF000000FF00000074FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00595959BB555555FF515151FF484848FF3D3D + 3DCC36363644FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF0067676744606060FF5B5B5BFF545454994D4D4D33FFFF + FF003F3F3F44FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF006D6D6D66666666FF63636388FFFFFF00FFFFFF00FFFF + FF00484848BBFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF006E6E6EEE6A6A6A77FFFFFF00FFFFFF005858 + 5877515151FFFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF0074747411707070996B6B6B66656565776060 + 6099595959BBFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00 + } end end object MenuItem76: TMenuItem @@ -4176,14 +3986,122 @@ object Form1: TForm1 object MenuItem82: TMenuItem Action = AcHorAlignLeft AutoCheck = True + Bitmap.Data = { + 36040000424D3604000000000000360000002800000010000000100000000100 + 2000000000000004000064000000640000000000000000000000FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF003C3C3CFF353535FF2F2F2FFF292929FF242424FF1E1E1EFF191919FF1414 + 14FF0F0F0FFFFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF004A4A4AFF444444FF3E3E3EFF383838FF323232FF2C2C2CFF262626FF2020 + 20FF1B1B1BFF161616FF111111FF0C0C0CFFFFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00585858FF525252FF4C4C4CFF464646FF404040FF3A3A3AFF343434FF2E2E + 2EFF282828FFFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00646464FF5F5F5FFF5A5A5AFF545454FF4F4F4FFF494949FF434343FF3D3D + 3DFF373737FF313131FF2B2B2BFF252525FFFFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF006F6F6FFF6B6B6BFF666666FF616161FF5C5C5CFF575757FF515151FF4B4B + 4BFF454545FFFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00767676FF747474FF707070FF6C6C6CFF686868FF636363FF5E5E5EFF5959 + 59FF535353FF4E4E4EFF484848FF424242FFFFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00 + } end object MenuItem83: TMenuItem Action = AcHorAlignCenter AutoCheck = True + Bitmap.Data = { + 36040000424D3604000000000000360000002800000010000000100000000100 + 2000000000000004000064000000640000000000000000000000FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF003535356B2F2F2FFF292929FF242424FF1E1E1EFF191919FF1414 + 14FF0F0F0FFF0B0B0BFF0707076BFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF004A4A4AFF444444FF3E3E3EFF383838FF323232FF2C2C2CFF262626FF2020 + 20FF1B1B1BFF161616FF111111FF0C0C0CFFFFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF005252526B4C4C4CFF464646FF404040FF3A3A3AFF343434FF2E2E + 2EFF282828FF232323FF1D1D1D6BFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00646464FF5F5F5FFF5A5A5AFF545454FF4F4F4FFF494949FF434343FF3D3D + 3DFF373737FF313131FF2B2B2BFF252525FFFFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF006B6B6B6B666666FF616161FF5C5C5CFF575757FF515151FF4B4B + 4BFF454545FF3F3F3FFF3939396BFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00767676FF747474FF707070FF6C6C6CFF686868FF636363FF5E5E5EFF5959 + 59FF535353FF4E4E4EFF484848FF424242FFFFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00 + } end object MenuItem84: TMenuItem Action = AcHorAlignRight AutoCheck = True + Bitmap.Data = { + 36040000424D3604000000000000360000002800000010000000100000000100 + 2000000000000004000064000000640000000000000000000000FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00292929FF242424FF1E1E1EFF191919FF1414 + 14FF0F0F0FFF0B0B0BFF070707FF030303FFFFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF004A4A4AFF444444FF3E3E3EFF383838FF323232FF2C2C2CFF262626FF2020 + 20FF1B1B1BFF161616FF111111FF0C0C0CFFFFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00464646FF404040FF3A3A3AFF343434FF2E2E + 2EFF282828FF232323FF1D1D1DFF181818FFFFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00646464FF5F5F5FFF5A5A5AFF545454FF4F4F4FFF494949FF434343FF3D3D + 3DFF373737FF313131FF2B2B2BFF252525FFFFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00616161FF5C5C5CFF575757FF515151FF4B4B + 4BFF454545FF3F3F3FFF393939FF333333FFFFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00767676FF747474FF707070FF6C6C6CFF686868FF636363FF5E5E5EFF5959 + 59FF535353FF4E4E4EFF484848FF424242FFFFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00 + } end end object MenuItem85: TMenuItem @@ -4191,14 +4109,122 @@ object Form1: TForm1 object MenuItem86: TMenuItem Action = AcVertAlignTop AutoCheck = True + Bitmap.Data = { + 36040000424D3604000000000000360000002800000010000000100000000100 + 2000000000000004000064000000640000000000000000000000FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF003B3B3B00343434002E2E2E0028282800232323001D1D1D00181818001313 + 13000F0F0F000B0B0B000707070003030300FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF0049494900434343003D3D3D0037373700313131002B2B2B00252525001F1F + 1F001A1A1A0015151500111111000C0C0C00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF0057575700515151004B4B4B00454545003F3F3F0039393900333333002D2D + 2D0027272700222222001C1C1C0017171700FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00636363005E5E5E0059595900535353004E4E4E0048484800424242003C3C + 3C0036363600303030002A2A2A0024242400FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF006E6E6EFF6A6A6AFF656565FF606060FF5B5B5BFF565656FF505050FF4A4A + 4AFF444444FF3E3E3EFF383838FF323232FFFFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00757575FF737373FF6F6F6FFF6B6B6BFF676767FF626262FF5D5D5DFF5858 + 58FF525252FF4D4D4DFF474747FF414141FFFFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00 + } end object MenuItem87: TMenuItem Action = AcVertAlignCenter AutoCheck = True + Bitmap.Data = { + 36040000424D3604000000000000360000002800000010000000100000000100 + 2000000000000004000064000000640000000000000000000000FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF003B3B3B00343434002E2E2E0028282800232323001D1D1D00181818001313 + 13000F0F0F000B0B0B000707070003030300FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF0049494900434343003D3D3D0037373700313131002B2B2B00252525001F1F + 1F001A1A1A0015151500111111000C0C0C00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00575757FF515151FF4B4B4BFF454545FF3F3F3FFF393939FF333333FF2D2D + 2DFF272727FF222222FF1C1C1CFF171717FFFFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00636363FF5E5E5EFF595959FF535353FF4E4E4EFF484848FF424242FF3C3C + 3CFF363636FF303030FF2A2A2AFF242424FFFFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF006E6E6E006A6A6A0065656500606060005B5B5B0056565600505050004A4A + 4A00444444003E3E3E003838380032323200FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF0075757500737373006F6F6F006B6B6B0067676700626262005D5D5D005858 + 5800525252004D4D4D004747470041414100FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00 + } end object MenuItem88: TMenuItem Action = AcVertAlignBottom AutoCheck = True + Bitmap.Data = { + 36040000424D3604000000000000360000002800000010000000100000000100 + 2000000000000004000064000000640000000000000000000000FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF003B3B3BFF343434FF2E2E2EFF282828FF232323FF1D1D1DFF181818FF1313 + 13FF0F0F0FFF0B0B0BFF070707FF030303FFFFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00494949FF434343FF3D3D3DFF373737FF313131FF2B2B2BFF252525FF1F1F + 1FFF1A1A1AFF151515FF111111FF0C0C0CFFFFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF0057575700515151004B4B4B00454545003F3F3F0039393900333333002D2D + 2D0027272700222222001C1C1C0017171700FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00636363005E5E5E0059595900535353004E4E4E0048484800424242003C3C + 3C0036363600303030002A2A2A0024242400FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF006E6E6E006A6A6A0065656500606060005B5B5B0056565600505050004A4A + 4A00444444003E3E3E003838380032323200FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF0075757500737373006F6F6F006B6B6B0067676700626262005D5D5D005858 + 5800525252004D4D4D004747470041414100FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00 + } end end object MenuItem10: TMenuItem @@ -4228,6 +4254,42 @@ object Form1: TForm1 object MenuItem14: TMenuItem Action = AcNumFormatPercentage AutoCheck = True + Bitmap.Data = { + 36040000424D3604000000000000360000002800000010000000100000000100 + 2000000000000004000064000000640000000000000000000000FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00000000000000000000000000000000C60000005400000000000000000000 + 0070000000E10000007000000000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF000101010001010100010101000101014E010101B301010100010101330101 + 01CC01010100010101CC01010133FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF0001010100010101000101010001010100010101AD0101014A010101320101 + 01C501010100010101C501010132FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF000101010001010100010101000101010001010148010101A7010101000101 + 0160010101BF0101016001010100FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00010101000101015D010101B90101015D01010100010101A2010101460101 + 0100010101000101010001010100FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF000101012D010101B401010100010101B40101012D010101440101019D0101 + 0100010101000101010001010100FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF000101012C010101AF01010100010101AF0101012C010101000101019A0101 + 0142010101000101010001010100FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF000101010001010156010101AC010101560101010001010100010101410101 + 0196010101000101010001010100FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00 + } end object MenuItem15: TMenuItem Caption = '-' diff --git a/components/fpspreadsheet/examples/fpsctrls/main.pas b/components/fpspreadsheet/examples/fpsctrls/main.pas index a80ce871c..a05c0b4c9 100644 --- a/components/fpspreadsheet/examples/fpsctrls/main.pas +++ b/components/fpspreadsheet/examples/fpsctrls/main.pas @@ -6,7 +6,7 @@ interface uses Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, ExtCtrls, - ComCtrls, ActnList, Menus, StdActns, + ComCtrls, ActnList, Menus, StdActns, //ColorBox, StdCtrls, fpspreadsheet, fpspreadsheetctrls, fpspreadsheetgrid, fpsActions; type @@ -187,6 +187,10 @@ type AcCellBorderAllVert: TsCellBorderAction; FontnameCombo: TsFontnameCombobox; AcCopyFormat: TsCopyFormatAction; + FontColorCombobox: TsCellCombobox; + BackgroundColorCombobox: TsCellCombobox; + sCellCombobox3: TsCellCombobox; + sCellCombobox4: TsCellCombobox; sFontSizeCombobox1: TsFontSizeCombobox; AcMergeCells: TsMergeAction; Splitter2: TSplitter; diff --git a/components/fpspreadsheet/examples/fpsctrls_no_install/main.pas b/components/fpspreadsheet/examples/fpsctrls_no_install/main.pas index 6fde2d2f8..2f9704205 100644 --- a/components/fpspreadsheet/examples/fpsctrls_no_install/main.pas +++ b/components/fpspreadsheet/examples/fpsctrls_no_install/main.pas @@ -155,7 +155,8 @@ var actn: TCustomAction; begin WorkbookSource := TsWorkbookSource.Create(self); - with WorkbookSource do begin + with WorkbookSource do + begin Options := [boReadFormulas, boAutoCalc]; end; @@ -178,7 +179,8 @@ begin end; CellIndicator := TsCellIndicator.Create(self); - with CellIndicator do begin + with CellIndicator do + begin Parent := Panel1; Left := BtnLoad.Left + BtnLoad.Width + 24; Top := BtnLoad.Top; @@ -186,7 +188,8 @@ begin end; CellEdit := TsCellEdit.Create(self); - with CellEdit do begin + with CellEdit do + begin Parent := Panel1; Left := CellIndicator.Left + CellIndicator.Width + 24; Top := CellIndicator.Top; @@ -194,14 +197,16 @@ begin end; Inspector := TsSpreadsheetInspector.Create(self); - with Inspector do begin + with Inspector do + begin Parent := InspectorTabControl; Align := alClient; WorkbookSource := Self.WorkbookSource; end; actn := TsWorksheetAddAction.Create(self); - with TsWorksheetAddAction(actn) do begin + with TsWorksheetAddAction(actn) do + begin ActionList := self.ActionList; Caption := 'Add'; Hint := 'Add worksheet'; @@ -210,7 +215,8 @@ begin MnuAddWorksheet.Action := actn; actn := TsWorksheetDeleteAction.Create(self); - with TsWorksheetDeleteAction(actn) do begin + with TsWorksheetDeleteAction(actn) do + begin ActionList := self.ActionList; Caption := 'Delete...'; Hint := 'Delete worksheet'; @@ -219,7 +225,8 @@ begin MnuDeleteWorksheet.Action := actn; actn := TsWorksheetRenameAction.Create(self); - with TsWorksheetRenameAction(actn) do begin + with TsWorksheetRenameAction(actn) do + begin ActionList := self.ActionList; Caption := 'Rename...'; Hint := 'Rename worksheet'; @@ -228,14 +235,37 @@ begin MnuRenameWorksheet.Action := actn; { Font names } - with TsFontnameCombobox.Create(self) do begin + with TsCellCombobox.Create(self) do + begin +// with TsFontnameCombobox.Create(self) do begin Parent := Toolbar1; WorkbookSource := Self.WorkbookSource; + Width := 160; + CellFormatItem := cfiFontName; + end; + + { Font size } + with TsCellCombobox.Create(self) do + begin + Parent := Toolbar1; + WorkbookSource := Self.WorkbookSource; + Width := 50; + CellFormatItem := cfiFontSize; + end; + + { Font color } + with TsCellCombobox.Create(self) do + begin + Parent := Toolbar1; + WorkbookSource := Self.WorkbookSource; + Width := 120; + CellFormatItem := cfiFontColor; end; { Font styles } actn := TsFontStyleAction.Create(self); - with TsFontStyleAction(actn) do begin + with TsFontStyleAction(actn) do + begin ActionList := Self.ActionList; Caption := 'Bold'; Hint := 'Bold'; @@ -247,7 +277,8 @@ begin tbBold.Action := actn; actn := TsFontStyleAction.Create(self); - with TsFontStyleAction(actn) do begin + with TsFontStyleAction(actn) do + begin ActionList := Self.ActionList; Caption := 'Italic'; Hint := 'Italic'; @@ -259,7 +290,8 @@ begin TbItalic.Action := actn; actn := TsFontStyleAction.Create(self); - with TsFontStyleAction(actn) do begin + with TsFontStyleAction(actn) do + begin ActionList := Self.ActionList; Caption := 'Underline'; Hint := 'Underline'; @@ -271,7 +303,8 @@ begin TbUnderline.Action := actn; actn := TsFontStyleAction.Create(self); - with TsFontStyleAction(actn) do begin + with TsFontStyleAction(actn) do + begin ActionList := Self.ActionList; Caption := 'Strikeout'; Hint := 'Strikeout'; @@ -284,7 +317,8 @@ begin { Horizontal alignments } actn := TsHorAlignmentAction.Create(self); - with TsHorAlignmentAction(actn) do begin + with TsHorAlignmentAction(actn) do + begin ActionList := self.ActionList; Caption := 'Left'; Hint := 'Left-aligned'; @@ -296,7 +330,8 @@ begin TbHorAlignLeft.Action := actn; actn := TsHorAlignmentAction.Create(self); - with TsHorAlignmentAction(actn) do begin + with TsHorAlignmentAction(actn) do + begin ActionList := self.ActionList; Caption := 'Center'; Hint := 'Centered'; @@ -308,7 +343,8 @@ begin TbHorAlignCenter.Action := actn; actn := TsHorAlignmentAction.Create(self); - with TsHorAlignmentAction(actn) do begin + with TsHorAlignmentAction(actn) do + begin ActionList := self.ActionList; Caption := 'Right'; Hint := 'Right-aligned'; @@ -321,7 +357,8 @@ begin { Vertical alignments } actn := TsVertAlignmentAction.Create(self); - with TsVertAlignmentAction(actn) do begin + with TsVertAlignmentAction(actn) do + begin ActionList := self.ActionList; Caption := 'Top'; Hint := 'Top-aligned'; @@ -333,7 +370,8 @@ begin TbVertAlignTop.Action := actn; actn := TsVertAlignmentAction.Create(self); - with TsVertAlignmentAction(actn) do begin + with TsVertAlignmentAction(actn) do + begin ActionList := self.ActionList; Caption := 'Middle'; Hint := 'Middle'; @@ -345,7 +383,8 @@ begin TbVertAlignCenter.Action := actn; actn := TsVertAlignmentAction.Create(self); - with TsVertAlignmentAction(actn) do begin + with TsVertAlignmentAction(actn) do + begin ActionList := self.ActionList; Caption := 'Bottom'; Hint := 'Bottom-aligned'; @@ -358,7 +397,8 @@ begin { Text rotation } actn := TsTextRotationAction.Create(self); - with TsTextRotationAction(actn) do begin + with TsTextRotationAction(actn) do + begin ActionList := self.ActionList; Caption := 'Horizontal'; Hint := 'Horizontal text'; @@ -368,7 +408,8 @@ begin MnuTextRotHor.Action := actn; actn := TsTextRotationAction.Create(self); - with TsTextRotationAction(actn) do begin + with TsTextRotationAction(actn) do + begin ActionList := self.ActionList; Caption := '90° clockwise rotation'; Hint := '90° clockwise rotated text'; @@ -378,7 +419,8 @@ begin MnuTextRot90CW.Action := actn; actn := TsTextRotationAction.Create(self); - with TsTextRotationAction(actn) do begin + with TsTextRotationAction(actn) do + begin ActionList := self.ActionList; Caption := '90° couner-clockwise rotation'; Hint := '90° counter-clockwise rotated text'; @@ -388,7 +430,8 @@ begin MnuTextRot90CCW.Action := actn; actn := TsTextRotationAction.Create(self); - with TsTextRotationAction(actn) do begin + with TsTextRotationAction(actn) do + begin ActionList := self.ActionList; Caption := 'Stacked'; Hint := 'Stacked text'; @@ -399,7 +442,8 @@ begin { Word wrap } actn := TsWordwrapAction.Create(self); - with TsWordwrapAction(actn) do begin + with TsWordwrapAction(actn) do + begin ActionList := self.ActionList; Caption := 'Word-wrap'; Hint := 'Word-wrapped text'; @@ -410,7 +454,8 @@ begin { Number format } actn := TsNumberFormatAction.Create(self); - with TsNumberFormatAction(actn) do begin + with TsNumberFormatAction(actn) do + begin ActionList := self.ActionList; Caption := 'General'; Hint := 'General'; @@ -420,7 +465,8 @@ begin MnuNumFormatGeneral.Action := actn; actn := TsNumberFormatAction.Create(self); - with TsNumberFormatAction(actn) do begin + with TsNumberFormatAction(actn) do + begin ActionList := self.ActionList; Caption := 'Fixed'; Hint := 'Fixed decimals'; @@ -430,7 +476,8 @@ begin MnuNumFormatFixed.Action := actn; actn := TsNumberFormatAction.Create(self); - with TsNumberFormatAction(actn) do begin + with TsNumberFormatAction(actn) do + begin ActionList := self.ActionList; Caption := 'Fixed w/Thousand separator'; Hint := 'Fixed decimals with thousand separator'; @@ -440,7 +487,8 @@ begin MnuNumFormatFixedTh.Action := actn; actn := TsNumberFormatAction.Create(self); - with TsNumberFormatAction(actn) do begin + with TsNumberFormatAction(actn) do + begin ActionList := self.ActionList; Caption := 'Exponential'; Hint := 'Exponential'; @@ -450,7 +498,8 @@ begin MnuNumFormatExp.Action := actn; actn := TsNumberFormatAction.Create(self); - with TsNumberFormatAction(actn) do begin + with TsNumberFormatAction(actn) do + begin ActionList := self.ActionList; Caption := 'Percentage'; Hint := 'Percentage'; @@ -460,7 +509,8 @@ begin MnuNumFormatPercentage.Action := actn; actn := TsNumberFormatAction.Create(self); - with TsNumberFormatAction(actn) do begin + with TsNumberFormatAction(actn) do + begin ActionList := self.ActionList; Caption := 'Currency'; Hint := 'Currency'; @@ -470,7 +520,8 @@ begin MnuNumFormatCurrency.Action := actn; actn := TsNumberFormatAction.Create(self); - with TsNumberFormatAction(actn) do begin + with TsNumberFormatAction(actn) do + begin ActionList := self.ActionList; Caption := 'Currency (red)'; Hint := 'Currency (negative values in red)'; @@ -480,7 +531,8 @@ begin MnuNumFormatCurrencyRed.Action := actn; actn := TsNumberFormatAction.Create(self); - with TsNumberFormatAction(actn) do begin + with TsNumberFormatAction(actn) do + begin ActionList := self.ActionList; Caption := 'Date and time'; Hint := 'Date and time'; @@ -490,7 +542,8 @@ begin MnuNumFormatShortDateTime.Action := actn; actn := TsNumberFormatAction.Create(self); - with TsNumberFormatAction(actn) do begin + with TsNumberFormatAction(actn) do + begin ActionList := self.ActionList; Caption := 'Long date'; Hint := 'Long date'; @@ -500,7 +553,8 @@ begin MnuNumFormatLongDate.Action := actn; actn := TsNumberFormatAction.Create(self); - with TsNumberFormatAction(actn) do begin + with TsNumberFormatAction(actn) do + begin ActionList := self.ActionList; WorkbookSource := Self.WorkbookSource; Caption := 'Short date'; @@ -510,7 +564,8 @@ begin MnuNumFormatShortDate.Action := actn; actn := TsNumberFormatAction.Create(self); - with TsNumberFormatAction(actn) do begin + with TsNumberFormatAction(actn) do + begin ActionList := self.ActionList; Caption := 'Long time'; Hint := 'Long time'; @@ -520,7 +575,8 @@ begin MnuNumFormatLongTime.Action := actn; actn := TsNumberFormatAction.Create(self); - with TsNumberFormatAction(actn) do begin + with TsNumberFormatAction(actn) do + begin ActionList := self.ActionList; Caption := 'Short time'; Hint := 'Short time'; @@ -530,7 +586,8 @@ begin MnuNumFormatShortTime.Action := actn; actn := TsNumberFormatAction.Create(self); - with TsNumberFormatAction(actn) do begin + with TsNumberFormatAction(actn) do + begin ActionList := self.ActionList; Caption := 'Long time AM/PM'; Hint := 'Long time with AM/PM'; @@ -540,7 +597,8 @@ begin MnuNumFormatLongTimeAM.Action := actn; actn := TsNumberFormatAction.Create(self); - with TsNumberFormatAction(actn) do begin + with TsNumberFormatAction(actn) do + begin ActionList := self.ActionList; WorkbookSource := Self.WorkbookSource; Caption := 'Short time AM/PM'; @@ -550,7 +608,8 @@ begin MnuNumFormatShortTimeAM.Action := actn; actn := TsNumberFormatAction.Create(self); - with TsNumberFormatAction(actn) do begin + with TsNumberFormatAction(actn) do + begin ActionList := self.ActionList; WorkbookSource := Self.WorkbookSource; Caption := 'Time interval'; diff --git a/components/fpspreadsheet/fpspreadsheet.pas b/components/fpspreadsheet/fpspreadsheet.pas index 0ee9c7161..c6f7d90ee 100755 --- a/components/fpspreadsheet/fpspreadsheet.pas +++ b/components/fpspreadsheet/fpspreadsheet.pas @@ -1031,7 +1031,7 @@ type { Color handling } function AddColorToPalette(AColorValue: TsColorValue): TsColor; function FindClosestColor(AColorValue: TsColorValue; - AMaxPaletteCount: Integer): TsColor; + AMaxPaletteCount: Integer = -1): TsColor; function FPSColorToHexString(AColor: TsColor; ARGBColor: TFPColor): String; function GetColorName(AColorIndex: TsColor): string; overload; procedure GetColorName(AColorValue: TsColorValue; out AName: String); overload; @@ -2973,12 +2973,12 @@ end; function TsWorksheet.ReadBackgroundColor(ACell: PCell): TsColor; begin if ACell = nil then - begin - Result := scNotDefined; - Exit; - end; - - Result := ACell^.BackgroundColor; + Result := scNotDefined + else + if (uffBackgroundColor in ACell^.UsedFormattingFields) then + Result := ACell^.BackgroundColor + else + Result := scTransparent; end; {@@ ---------------------------------------------------------------------------- @@ -7370,7 +7370,7 @@ end; @return Palette index of the color closest to AColorValue --------------------------------------------------------------------------------} function TsWorkbook.FindClosestColor(AColorValue: TsColorValue; - AMaxPaletteCount: Integer): TsColor; + AMaxPaletteCount: Integer = -1): TsColor; type TRGBA = record r,g,b, a: Byte end; var @@ -7383,7 +7383,10 @@ var begin Result := scNotDefined; minDist := 1E108; - n := Min(Length(FPalette), AMaxPaletteCount); + if AMaxPaletteCount = -1 then + n := Length(FPalette) + else + n := Min(Length(FPalette), AMaxPaletteCount); for i:=0 to n-1 do begin rgb := TRGBA(GetPaletteColor(i)); diff --git a/components/fpspreadsheet/fpspreadsheetctrls.lrs b/components/fpspreadsheet/fpspreadsheetctrls.lrs index 1e9435430..8390b87c6 100644 --- a/components/fpspreadsheet/fpspreadsheetctrls.lrs +++ b/components/fpspreadsheet/fpspreadsheetctrls.lrs @@ -167,6 +167,42 @@ LazarusResources.Add('TSCELLINDICATOR','PNG',[ +'Z*u'#230#249'>'#0'74'#141#153#236'M'#0#254#1#147#1'M'#220#4#245'Q'#0#0#0#0#0 +'IEND'#174'B`'#130 ]); +LazarusResources.Add('TSCELLCOMBOBOX','PNG',[ + #137'PNG'#13#10#26#10#0#0#0#13'IHDR'#0#0#0#24#0#0#0#24#8#6#0#0#0#224'w='#248#0 + +#0#0#9'pHYs'#0#0#14#196#0#0#14#196#1#149'+'#14#27#0#0#0#7'tIME'#7#222#11#26 + +#23#4'-'#148'N}'#145#0#0#0#7'tEXtAuthor'#0#169#174#204'H'#0#0#0#10'tEXtCopyr' + +'ight'#0#172#15#204':'#0#0#0#14'tEXtCreation time'#0'5'#247#15#9#0#0#0#9'tEX' + +'tSoftware'#0']p'#255':'#0#0#0#11'tEXtDisclaimer'#0#183#192#180#143#0#0#0#8 + +'tEXtWarning'#0#192#27#230#135#0#0#0#7'tEXtSource'#0#245#255#131#235#0#0#0#8 + +'tEXtComment'#0#246#204#150#191#0#0#0#6'tEXtTitle'#0#168#238#210''''#0#0#2'g' + +'IDATH'#137#181#149'QHSQ'#24#199#127'g'#155#137'h'#140#156#169#144#17'2B'#232 + +'A1'#139#5'Y'#129#198#194#196#30#10'}'#176#151'F'#209#160'(j'#164'w'#190'E' + +#16#204#22#190#248'f'#193#237'eA'#134'/'#3'['#248' N'#5'_'#162'p'#132#15#134 + +#141'HJ%)mdQ'#247#158#30#134'k'#186#187#155'['#249#135#203#189#231';'#223#249 + +'~'#231';'#247#156#239#8')%'#219')'#203#182'F'#7'l'#0'~'#127#255#127'K#'#16 + +#184'&2'#0'I'#200#249'<'#130#133'6'#140#155#142#205#224#247#247#203't'#136'-' + +'}@S'#147'{'#203#193'GGGR'#223'eeeh'#186'dll'#2#128#232#248#164'?5x'#224#30#193'",xCm'#0#12#169 + +#128#138#212#145#230'Kt'#171'['#201'46'#195#13#143#143#165#196'<'#229'%U'#244 + +#14#244#209#173#244#240#181'n'#134'3'#173#181')'#183#240'p'#140'9uM'#152#2 + +#238#223#235#205#176'}'#254#254#137#219#143#188'\'#189'p'#17#0'Og'#7#131#5#17 + +#142#238#222#191'!'#248#27#245'[f'#169'X'#215#193'C'#245'f\'#154#27#223'R' + +#127#215#129'r'#217'GyI'#21#29#237'-'#168#143#7'9'#187#215'Ex8'#198'C'#207#8 + +#213']'#194#26#15'J'#237#159'J'#197'Rb~C{'#249#253'Z'#242#189#182'@<('#181 + +#172#25#172#203#236#28#236#162#1'U>E'#241#222'd)1'#143#167#179#157#208'`'#152 + +'s'#21'A'#28'E'#149')'#191#188#206#129'.5\'#190'} $'#189#3'}x:;'#0'A'#235#225 + +#6#158'L]'#167#133#9's@z'#225'3'#210#208#162#130#203'Y'#131#173'X'''#250'!' + +#198#242#202'"'#14'{'#5'ZiA'#134#175'0'#186#244#163#227#147'Y'#175#208'K'#170 + +#27#151#179'&9'#187'b'#29#128#241#143#175'i;}'#12#135#189#130#229#149'E'#194 + +#195'Q'#226'A)'#178#2#178#201#233')'#146#22#132'a_'#225#30#157#230#147'GR' + +#237#200#243'If'#3#191'DN'#0#128#234'.'#225#140#7#229#220'&'#155#221'j'#177 + +'|'#209#244'dF;'#172'VJKv'#2#240#27#31#144#219'n'#231#139#204#3#0#0#0#0'IEND' + +#174'B`'#130 +]); LazarusResources.Add('TSSPREADSHEETINSPECTOR','PNG',[ #137'PNG'#13#10#26#10#0#0#0#13'IHDR'#0#0#0#24#0#0#0#24#8#6#0#0#0#224'w='#248#0 +#0#0#9'pHYs'#0#0#14#196#0#0#14#196#1#149'+'#14#27#0#0#0#7'tIME'#7#222#11#24 diff --git a/components/fpspreadsheet/fpspreadsheetctrls.pas b/components/fpspreadsheet/fpspreadsheetctrls.pas index 13313927b..4f1199479 100644 --- a/components/fpspreadsheet/fpspreadsheetctrls.pas +++ b/components/fpspreadsheet/fpspreadsheetctrls.pas @@ -26,7 +26,7 @@ unit fpspreadsheetctrls; interface uses - Classes, SysUtils, Controls, StdCtrls, ComCtrls, ValEdit, ActnList, + Classes, Graphics, SysUtils, Controls, StdCtrls, ComCtrls, ValEdit, ActnList, LResources, fpspreadsheet, {%H-}fpsAllFormats; @@ -239,21 +239,38 @@ type end; + { TsCellFormatItem } + TsCellFormatItem = (cfiFontName, cfiFontSize, cfiFontColor, cfiBackgroundColor, + cfiBorderColor); + + { TsCellCombobox } - {@@ TsCellCombobox is the ancestor of TsFontNameCombobox and TsFontSizeCombobox } - TsCellCombobox = class(TCombobox) + {@@ TsCellCombobox is a multi-purpose combobox for selection of formatting + items of a cell } + TsCellCombobox = class(TCustomCombobox) private FWorkbookSource: TsWorkbookSource; + FFormatItem: TsCellFormatItem; + FColorRectWidth: Integer; function GetWorkbook: TsWorkbook; function GetWorksheet: TsWorksheet; + procedure SetColorRectWidth(AValue: Integer); + procedure SetFormatItem(AValue: TsCellFormatItem); procedure SetWorkbookSource(AValue: TsWorkbookSource); +// procedure UpdateCombo; protected procedure ApplyFormatToCell(ACell: PCell); virtual; + procedure DrawItem(AIndex: Integer; ARect: TRect; + AState: TOwnerDrawState); override; procedure ExtractFromCell(ACell: PCell); virtual; + function GetActiveCell: PCell; +// function GetItemHeight: Integer; override; + procedure Loaded; override; procedure Notification(AComponent: TComponent; Operation: TOperation); override; procedure Populate; virtual; procedure Select; override; + property Items stored false; public constructor Create(AOwner: TComponent); override; destructor Destroy; override; @@ -264,8 +281,82 @@ type {@@ Refers to the underlying worksheet containing the displayed cell } property Worksheet: TsWorksheet read GetWorksheet; published + {@@ Identifies the cell format property to be used in the combobox } + property CellFormatItem: TsCellFormatItem read FFormatItem write SetFormatItem; + {@@ Width of the color box shown for the color-related format items } + property ColorRectWidth: Integer read FColorRectWidth write SetColorRectWidth default 10; {@@ Link to the WorkbookSource which provides the workbook and worksheet. } property WorkbookSource: TsWorkbookSource read FWorkbookSource write SetWorkbookSource; + + { inherited properties } + property Align; + property Anchors; + property ArrowKeysTraverseList; + property AutoComplete; + property AutoCompleteText; + property AutoDropDown; + property AutoSelect; + property AutoSize;// Note: windows has a fixed height in some styles + property BidiMode; + property BorderSpacing; + property BorderStyle; + property CharCase; + property Color; + property Constraints; + property DragCursor; + property DragKind; + property DragMode; + property DropDownCount; + property Enabled; + property Font; + property ItemHeight; + property ItemIndex; +// property Items; + property ItemWidth; + property MaxLength; + property OnChange; + property OnChangeBounds; + property OnClick; + property OnCloseUp; + property OnContextPopup; + property OnDblClick; + property OnDragDrop; + property OnDragOver; + property OnDrawItem; + property OnEndDrag; + property OnDropDown; + property OnEditingDone; + property OnEnter; + property OnExit; + property OnGetItems; + property OnKeyDown; + property OnKeyPress; + property OnKeyUp; + property OnMeasureItem; + property OnMouseDown; + property OnMouseEnter; + property OnMouseLeave; + property OnMouseMove; + property OnMouseUp; + property OnMouseWheel; + property OnMouseWheelDown; + property OnMouseWheelUp; + property OnSelect; + property OnStartDrag; + property OnUTF8KeyPress; + property ParentBidiMode; + property ParentColor; + property ParentFont; + property ParentShowHint; + property PopupMenu; + property ReadOnly; + property ShowHint; + property Sorted; +// property Style; + property TabOrder; + property TabStop; + property Text; + property Visible; end; @@ -275,6 +366,76 @@ type TsCellFontCombobox = class(TsCellCombobox) protected function GetCellFont(ACell: PCell): TsFont; + published + { inherited properties } + property Align; + property Anchors; + property ArrowKeysTraverseList; + property AutoComplete; + property AutoCompleteText; + property AutoDropDown; + property AutoSelect; + property AutoSize;// Note: windows has a fixed height in some styles + property BidiMode; + property BorderSpacing; + property BorderStyle; + property CharCase; + property Color; + property Constraints; + property DragCursor; + property DragKind; + property DragMode; + property DropDownCount; + property Enabled; + property Font; + property ItemHeight; + property ItemIndex; +// property Items; + property ItemWidth; + property MaxLength; + property OnChange; + property OnChangeBounds; + property OnClick; + property OnCloseUp; + property OnContextPopup; + property OnDblClick; + property OnDragDrop; + property OnDragOver; + property OnDrawItem; + property OnEndDrag; + property OnDropDown; + property OnEditingDone; + property OnEnter; + property OnExit; + property OnGetItems; + property OnKeyDown; + property OnKeyPress; + property OnKeyUp; + property OnMeasureItem; + property OnMouseDown; + property OnMouseEnter; + property OnMouseLeave; + property OnMouseMove; + property OnMouseUp; + property OnMouseWheel; + property OnMouseWheelDown; + property OnMouseWheelUp; + property OnSelect; + property OnStartDrag; + property OnUTF8KeyPress; + property ParentBidiMode; + property ParentColor; + property ParentFont; + property ParentShowHint; + property PopupMenu; + property ReadOnly; + property ShowHint; + property Sorted; +// property Style; + property TabOrder; + property TabStop; + property Text; + property Visible; end; @@ -357,7 +518,7 @@ procedure Register; implementation uses - Types, TypInfo, Dialogs, Forms, + Types, TypInfo, LCLType, Dialogs, Forms, fpsStrings, fpsUtils, fpSpreadsheetGrid; @@ -369,7 +530,8 @@ procedure Register; begin RegisterComponents('FPSpreadsheet', [ TsWorkbookSource, TsWorkbookTabControl, TsWorksheetGrid, - TsCellEdit, TsCellIndicator, TsFontNameCombobox, TsFontSizeCombobox, + TsCellEdit, TsCellIndicator, TsCellCombobox, + TsFontNameCombobox, TsFontSizeCombobox, TsSpreadsheetInspector ]); end; @@ -1401,6 +1563,7 @@ end; constructor TsCellCombobox.Create(AOwner: TComponent); begin inherited Create(AOwner); + FColorRectWidth := 10; Populate; end; @@ -1419,8 +1582,102 @@ end; which the combobox is responsible. -------------------------------------------------------------------------------} procedure TsCellCombobox.ApplyFormatToCell(ACell: PCell); +var + fnt: TsFont; + clr: TColor; + sclr: TsColor; begin - Unused(ACell); + if (ItemIndex = -1) or (Worksheet = nil) then + exit; + + case FFormatItem of + cfiFontName: + begin + fnt := Worksheet.ReadCellFont(ACell); + Worksheet.WriteFont(ACell, Items[ItemIndex], fnt.Size, fnt.Style, fnt.Color); + end; + cfiFontSize: + begin + fnt := Worksheet.ReadCellFont(ACell); + Worksheet.WriteFont(ACell, fnt.FontName, StrToFloat(Items[ItemIndex]), fnt.Style, fnt.Color); + end; + cfiFontColor: + begin + fnt := Worksheet.ReadCellFont(ACell); + clr := TsColor(PtrInt(Items.Objects[ItemIndex])); + sclr := Workbook.FindClosestColor(clr); + Worksheet.WriteFont(ACell, fnt.FontName, fnt.Size, fnt.Style, clr); + end; + cfiBackgroundColor: + if ItemIndex = 0 then + Worksheet.WriteBackgroundColor(ACell, scTransparent) + else + begin + clr := TsColor(PtrInt(Items.Objects[ItemIndex])); + sclr := Workbook.FindClosestColor(clr); + Worksheet.WriteBackgroundColor(ACell, sclr); + end; + cfiBorderColor: + ; + else + raise Exception.Create('[TsCellFormatCombobox.ApplyFormatToCell] Unknown format item'); + end; +end; + +{@@ ---------------------------------------------------------------------------- + Customdraws an item in the combobox. This is overridden to paint a color box + for the color-related format items. + ------------------------------------------------------------------------------} +procedure TsCellCombobox.DrawItem(AIndex: Integer; ARect: TRect; + AState: TOwnerDrawState); +{ This code is adapted from colorbox.pas} +var + r: TRect; + brushColor, penColor, newColor: TColor; + noFill: Boolean; +begin + if AIndex = -1 then + Exit; + + r.Top := ARect.Top + 2; + r.Bottom := ARect.Bottom - 2; + r.Left := ARect.Left + 2; + r.Right := r.Left + FColorRectWidth; + Exclude(AState, odPainted); + + noFill := false; + + with Canvas do + begin + FillRect(ARect); + + brushColor := Brush.Color; + penColor := Pen.Color; + + newColor := TColor(Items.Objects[AIndex]); + + if newColor = clNone then + noFill := true; + + Brush.Color := newColor; + Pen.Color := clBlack; + + r := BiDiFlipRect(r, ARect, UseRightToLeftAlignment); + Rectangle(r); + + if noFill then + begin + Line(r.Left, r.Top, r.Right-1, r.Bottom-1); + Line(r.Left, r.Bottom-1, r.Right-1, r.Top); + end; + + Brush.Color := brushColor; + Pen.Color := penColor; + end; + r := ARect; + inc(r.Left, FColorRectWidth + 4); + + inherited DrawItem(AIndex, BidiFlipRect(r, ARect, UseRightToLeftAlignment), AState); end; {@@ ---------------------------------------------------------------------------- @@ -1428,10 +1685,80 @@ end; selectes the corresponding combobox item. -------------------------------------------------------------------------------} procedure TsCellCombobox.ExtractFromCell(ACell: PCell); +var + fnt: TsFont; + sclr: TsColor; + clr: TColor; begin - Unused(ACell); + case FFormatItem of + cfiFontName: + begin + fnt := Worksheet.ReadCellFont(ACell); + // No check for nil required because fnt is at least DefaultFont + ItemIndex := Items.IndexOf(fnt.FontName); + end; + cfiFontSize: + begin + fnt := Worksheet.ReadCellFont(ACell); + ItemIndex := Items.IndexOf(Format('%.0f', [fnt.Size])); + end; + cfiFontColor: + begin + fnt := Worksheet.ReadCellFont(ACell); + ItemIndex := Items.IndexOfObject(TObject(PtrInt(fnt.Color))); + end; + cfiBackgroundColor: + begin + if Worksheet = nil then + clr := clNone + else + begin + sclr := Worksheet.ReadBackgroundColor(ACell); + if (sclr = scNotDefined) or (sclr = scTransparent) then + clr := clNone + else + clr := Workbook.GetPaletteColor(sclr); + end; + ItemIndex := Items.IndexOfObject(TObject(PtrInt(clr))); + end; + cfiBorderColor: + ; + else + raise Exception.Create('[TsCellFormatItem.ExtractFromCell] Unknown format item'); + end; end; +{@@ ---------------------------------------------------------------------------- + Returns the currently active cell of the worksheet +-------------------------------------------------------------------------------} +function TsCellCombobox.GetActiveCell: PCell; +begin + if FWorkbookSource <> nil then + Result := Worksheet.FindCell(Worksheet.ActiveCellRow, Worksheet.ActiveCellCol) + else + Result := nil; +end; + (* +function TsCellCombobox.GetItemHeight: Integer; +begin + Result := TWSCustomComboboxClass(WidgetSetClass).GetItemHeight(Self); + if inherited ItemHeight = 0 then + inherited ItemHeight := Result; + { + // FItemHeight is not initialized at class creating. we can, but with what value? + // so, if it still uninitialized (=0), then we ask widgetset + if (FStyle in [csOwnerDrawFixed, csOwnerDrawVariable]) and (FItemHeight > 0) or not HandleAllocated then + begin + Result := FItemHeight + end else + begin + Result := TWSCustomComboBoxClass(WidgetSetClass).GetItemHeight(Self); + if (FItemHeight = 0) then + FItemHeight := Result; + end; + } +end; + *) {@@ ---------------------------------------------------------------------------- Getter method for the property Workbook which is currently loaded by the WorkbookSource @@ -1474,13 +1801,23 @@ begin if (Worksheet = nil) or ([lniCell, lniSelection]*AChangedItems = []) then exit; - activeCell := Worksheet.FindCell(Worksheet.ActiveCellRow, Worksheet.ActiveCellCol); + activeCell := GetActiveCell; if ((lniCell in AChangedItems) and (PCell(AData) = activeCell)) or (lniSelection in AChangedItems) then ExtractFromCell(activeCell); end; +{@@ ---------------------------------------------------------------------------- + Standard method. Overridden to populate combobox since items are not stored + in lfm file. +-------------------------------------------------------------------------------} +procedure TsCellCombobox.Loaded; +begin + inherited; + Populate; +end; + {@@ ---------------------------------------------------------------------------- Standard component notification method called when the WorkbookSource is deleted. @@ -1497,7 +1834,32 @@ end; Descendants override this method to populate the items of the combobox. -------------------------------------------------------------------------------} procedure TsCellCombobox.Populate; +var + i: Integer; begin + if Workbook = nil then + exit; + + case FFormatItem of + cfiFontName: + Items.Assign(Screen.Fonts); + cfiFontSize: + Items.CommaText := '8,9,10,11,12,13,14,16,18,20,22,24,26,28,32,36,48,72'; + cfiFontColor: + for i:=0 to Workbook.GetPaletteSize-1 do + Items.AddObject(Workbook.GetColorName(i), TObject(Workbook.GetPaletteColor(i))); + cfiBackgroundColor: + begin + Items.AddObject('(none)', TObject(clNone)); + for i:=0 to Workbook.GetPaletteSize-1 do + Items.AddObject(Workbook.GetColorName(i), TObject(Workbook.GetPaletteColor(i))); + end; + cfiBorderColor: + for i:=0 to Workbook.GetPaletteSize-1 do + Items.AddObject(Workbook.GetColorName(i), TObject(Workbook.GetPaletteColor(i))); + else + raise Exception.Create('[TsCellCombobox.Populate] Unknown cell format item.'); + end; end; {@@ ---------------------------------------------------------------------------- @@ -1512,6 +1874,8 @@ var cell: PCell; begin inherited Select; +// UpdateCombo; + if Worksheet = nil then exit; sel := Worksheet.GetSelection; @@ -1524,6 +1888,33 @@ begin end; end; +{@@ ---------------------------------------------------------------------------- + Setter method for the ColorRectWidth property +-------------------------------------------------------------------------------} +procedure TsCellCombobox.SetColorRectWidth(AValue: Integer); +begin + if FColorRectWidth = AValue then + exit; + FColorRectWidth := AValue; + Invalidate; +end; + +{@@ ---------------------------------------------------------------------------- + Setter method for the FormatItem property +-------------------------------------------------------------------------------} +procedure TsCellCombobox.SetFormatItem(AValue: TsCellFormatItem); +begin + FFormatItem := AValue; + if FFormatItem in [cfiFontColor, cfiBackgroundColor, cfiBorderColor] then + inherited Style := csOwnerDrawFixed + else + inherited Style := csDropdown; + + Populate; + if FWorkbookSource <> nil then + ExtractFromCell(GetActiveCell); +end; + {@@ ---------------------------------------------------------------------------- Setter method for the WorkbookSource -------------------------------------------------------------------------------} @@ -1539,7 +1930,35 @@ begin Text := ''; ListenerNotification([lniSelection]); end; - + (* +procedure TsCellCombobox.UpdateCombo; +var + c: integer; +begin + if HandleAllocated then + Invalidate; + { + begin + for c := Ord(cbCustomColor in Style) to Items.Count - 1 do + begin + if Colors[c] = FSelected then + begin + ItemIndex := c; + Exit; + end; + end; + if cbCustomColor in Style then + begin + Items.Objects[0] := TObject(PtrInt(FSelected)); + ItemIndex := 0; + Invalidate; + end + else + ItemIndex := -1; + end; + } +end; + *) {------------------------------------------------------------------------------} { TsCellFontCombobox } diff --git a/components/fpspreadsheet/images/components/TSCELLCOMBOBOX.png b/components/fpspreadsheet/images/components/TSCELLCOMBOBOX.png new file mode 100644 index 0000000000000000000000000000000000000000..fc492bc324ad82432c049461cbae54304aa475d5 GIT binary patch literal 900 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM1|%Pp+x`GjoCO|{#S9F5M?jcysy3fAP>{XE z)7O>#9=DV@i|!P^+KFHx*N76w(vpn)B8HXg&UgTYxJrOR&iMtEMVaXtB@Ao$&sYIP z`M{z@sfi_-`FRQ@nYpP9rr-HFfij#Rnc)1ilJdl&REF4s{~+buAVHVR;^dq}pwc3S z?FY8>1BE$2!r_TUd6{|X3jt9HY5w~GrjvX+$Za}_uvw(m#U!MCZ7ZTig7KNS2};};dQ@VE7Pc&TdUrUZVU zC)bv}YxnHvpY5mjKDWOAv+lX|_c`x5G*xeFp5Erhp2JXA|G(Z_Szw2n5rgN6pEgac zW<9g}&OZ45{d7r(ZmmP`Em0VvQ z%-b&g?IzD!%M2^C=HDUS*Zzqp2yiUz3447=>~OeH<+oE;4o~Cx_k8(}zke^~xYb`y zTkufm>Q%WLaR+vNx*HnJ_GI_!OH+$idi;qvd-A?P^K|{5@?*QNM!xfjUATc^iI1JV zX~hG%gGxFT&bbUcD;v75Onl~DvO4;tiP>S^{{E#$Y@Vuye&PFaaqX86Tl3nC*KXC^ z{-L19veb75)4Thx&u*yw_pkGI|DKq=1%eFz>Fmv{f_?Aq?N|IE{WUsmWyJM^&R^4F zW=Y=+O86qd`e^&ecEvMt$15 z&A~=v>l(>5r{BoDS;QD>=lbzpil$-z^38KEB+Mulb(C?Ps=0s9xkf$Hn0>VhDtno0 zE3B*;9A7_Vo97d|yp^-qq3WUWr3;IiPDeJcjZpukcT literal 0 HcmV?d00001 diff --git a/components/fpspreadsheet/images/components/fpspreadsheetctrls.Spp b/components/fpspreadsheet/images/components/fpspreadsheetctrls.Spp index d2f3a12079223ac17c6bc76f284b84d930409967..d1e281672ff456f18070ebaff55a6f34b663e0a7 100644 GIT binary patch delta 11860 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 )wbsi zbBjq$af*C<3gS!RHn(ItX$xS_&)TTpIBe8!;CigA5WKl%3s-eHsJmML>az!&8sS^| zHn+d1WSv>xlDgZ4-PrBA!bY&&2iJ&7U_26sz2H5(`_)C={VLkr{mOt#MltY`Xcd4P zB_qJ&43@n_rrA*I!U(z1=CQx6rcXQ=9`_A%*@-Cr9b?s(QFI_hsAJN_j zdLEs`#>4dG=|$7mNx$7a{;J#B^r-62`GIO3MlD)M@+YHQ(Fd9~Tn;&2HsMdA!-}(kd!23-;dg_adU%=CET}lBHj$ZRqGKc1ff1 zdPPwq=_dF}WEpINOWr8!d*@-Oj;q8hK~)C@PF@AWDFCd567L9Ue%pc!Tvk!;avY(lWMOA^^G@J_W{0=J3VUbJw zZr8lQbf^W)n#=5M+3S3iXHBO;f$@THB8#1z1B5GuX40t%jm2vlJ5=c`1*njuE{9;g zoF*|CM|^(yD7DbvqAXzgz;}#8KaM7RtxSV1t!}Z++=^N7d)}j?p-eGK8Ide_4hF#K zBhq%Jw$~#2tIWWM9)(_5k;^Vmno9=;g0o;+a@~HK*me0VOoFYmRt7?;>7M5PV&M+> zID_*2qC?Y|E}b36n9tvgr+WZy?H146mr2cAq!8~uU^tQHqTSP9W9bg+Y|#n3B9@U^ zhYDQGHW$xu(m_)C|8Oc(uiOB*IS8M#9K@&}F#>P@JR3=&plD?goU$y8$!#>dq@^W} zw+RRdy^h|g>;!ltZX7pbXWm*Gn;PMoM5$KATA1q}qv^sR? z`saBpWg8=_Aj2&ot$;CXpoZ^ zX>56pS?BW>+SXQi$73`v>1w~9omhN|IC({IcLrB@hhC5otzqU#rd7oA!=c);E^-Fm znR~7zAMtq__KmU2CKNcXvw11T%k6Oa@_`Q~akqOJC)yoN_}NfH&K~>H>fg4vyal91 zbqT8u3=#c46?{p2$$Z`S*284&KuzS4Hg^Ig_A?6FDZN{!G2o#x?Ll2<_S!so6TZ42 z7ruS&D~bsSU!RJ=)zp{5O)1+vMS|Q(BtOT5|NjkSqj#b~r!raaOobyh# z^G!3SZFx4O$~L#2*7RQ4hSjDBxS1i2JGnSBop#Q7aCT0S@6}f2gk0{cq3j^fRI>uu zFCDS-gg-;vXMc`BMX9?=O1OE5!dt}lEG0&aX{&_G!uQ2Mh1JjJ#tE z+t#oRPbqSfGLffi)OWU!s_nMC&lgr-!GB#teB}F=62N*tfiWQUV!ReD?I?Io?AjMZ zlhcBls+-M4t=MV|!rXgw8G#0?83VU+oSuD$X7G1C&%iSWZevV8i&8fxsuRE_K1^0AfLf=AX^}blyJ4Mf?0jbt_HP^*1F}-^QarK zACr>#uLlKH8v@9*Vh0FR!rqagjUcw|zK-mreVErjzqcz~ej2H{< z{IfHjzxoLvF@h%iR@6@2Yz!Gb@RMiof2LnO;H!tC0ATLx8}R$_sU4_q{W_<$d3^NO zi>hLnTPFN^)K0(Q42(4_zk0w|wT1xT=Is;^;OgW0W0mOPUjqQ#@IPUC0BAO%-u*wn C0y=U4 delta 11062 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