GradTabControl: Added Style-Support (Standard, Vista-Like)

git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@860 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
eugene1
2009-06-25 00:51:42 +00:00
parent e8729f32a8
commit 02f81dec33
8 changed files with 1058 additions and 608 deletions

View File

@ -1,7 +1,7 @@
object Form1: TForm1 object Form1: TForm1
Left = 243 Left = 253
Height = 492 Height = 492
Top = 105 Top = 145
Width = 884 Width = 884
Caption = 'TGradTabControl-Testsuite' Caption = 'TGradTabControl-Testsuite'
ClientHeight = 492 ClientHeight = 492
@ -43,12 +43,13 @@ object Form1: TForm1
ShowLeftTopScrollButton = False ShowLeftTopScrollButton = False
ShowRightBottomScrollButton = False ShowRightBottomScrollButton = False
Images = ImageList1 Images = ImageList1
CustomDraw = False
object GradTabPage3: TGradTabPage object GradTabPage3: TGradTabPage
Left = 2 Left = 2
Height = 466 Height = 466
Top = 22 Top = 22
Width = 640 Width = 640
PageIndex = 2 PageIndex = 1
Caption = 'GradTabPage3' Caption = 'GradTabPage3'
TabColor = clBlue TabColor = clBlue
TabTextAlignment = taLeftJustify TabTextAlignment = taLeftJustify
@ -93,10 +94,10 @@ object Form1: TForm1
end end
object GradTabPage2: TGradTabPage object GradTabPage2: TGradTabPage
Left = 2 Left = 2
Height = 466 Height = 488
Top = 22 Top = 22
Width = 640 Width = 642
PageIndex = 1 PageIndex = 2
Caption = 'GradTabPage2' Caption = 'GradTabPage2'
ShowCloseButton = True ShowCloseButton = True
TabColor = clBlue TabColor = clBlue

View File

@ -1,40 +1,90 @@
{ This is an automatically generated lazarus resource file } { Das ist eine automatisch erzeugte Lazarus-Ressourcendatei }
LazarusResources.Add('TForm1','FORMDATA',[ LazarusResources.Add('TForm1','FORMDATA',[
'TPF0'#6'TForm1'#5'Form1'#4'Left'#3#243#0#6'Height'#3#236#1#3'Top'#2'i'#5'Wid' 'TPF0'#6'TForm1'#5'Form1'#4'Left'#3#253#0#6'Height'#3#236#1#3'Top'#3#145#0#5
+'th'#3't'#3#7'Caption'#6#25'TGradTabControl-Testsuite'#12'ClientHeight'#3#236 +'Width'#3't'#3#7'Caption'#6#25'TGradTabControl-Testsuite'#12'ClientHeight'#3
+#1#11'ClientWidth'#3't'#3#8'OnCreate'#7#10'FormCreate'#9'OnDestroy'#7#11'For' +#236#1#11'ClientWidth'#3't'#3#8'OnCreate'#7#10'FormCreate'#9'OnDestroy'#7#11
+'mDestroy'#10'LCLVersion'#6#6'0.9.27'#0#6'TPanel'#6'Panel1'#4'Left'#2#0#6'He' +'FormDestroy'#10'LCLVersion'#6#6'0.9.27'#0#6'TPanel'#6'Panel1'#4'Left'#2#0#6
+'ight'#3#236#1#3'Top'#2#0#5'Width'#3#134#2#5'Align'#7#8'alClient'#7'Caption' +'Height'#3#236#1#3'Top'#2#0#5'Width'#3#134#2#5'Align'#7#8'alClient'#7'Captio'
+#6#6'Panel1'#12'ClientHeight'#3#236#1#11'ClientWidth'#3#134#2#8'TabOrder'#2#0 +'n'#6#6'Panel1'#12'ClientHeight'#3#236#1#11'ClientWidth'#3#134#2#8'TabOrder'
+#0#15'TGradTabControl'#15'GradTabControl1'#4'Left'#2#1#6'Height'#3#234#1#3'T' +#2#0#0#15'TGradTabControl'#15'GradTabControl1'#4'Left'#2#1#6'Height'#3#234#1
+'op'#2#1#5'Width'#3#132#2#5'Align'#7#8'alClient'#10'ActivePage'#7#12'GradTab' +#3'Top'#2#1#5'Width'#3#132#2#5'Align'#7#8'alClient'#10'ActivePage'#7#12'Grad'
+'Page1'#20'OnTabButtonMouseDown'#7'!GradTabControl1TabButtonMouseDown'#18'On' +'TabPage1'#20'OnTabButtonMouseDown'#7'!GradTabControl1TabButtonMouseDown'#18
+'TabButtonMouseUp'#7#31'GradTabControl1TabButtonMouseUp'#20'OnTabButtonMouse' +'OnTabButtonMouseUp'#7#31'GradTabControl1TabButtonMouseUp'#20'OnTabButtonMou'
+'Move'#7'!GradTabControl1TabButtonMouseMove'#21'OnTabCloseButtonClick'#7'"Gr' +'seMove'#7'!GradTabControl1TabButtonMouseMove'#21'OnTabCloseButtonClick'#7'"'
+'adTabControl1TabCloseButtonClick'#10'OnDragDrop'#7#23'GradTabControl1DragDr' +'GradTabControl1TabCloseButtonClick'#10'OnDragDrop'#7#23'GradTabControl1Drag'
+'op'#10'OnDragOver'#7#23'GradTabControl1DragOver'#11'OnMouseDown'#7#24'GradT' +'Drop'#10'OnDragOver'#7#23'GradTabControl1DragOver'#11'OnMouseDown'#7#24'Gra'
+'abControl1MouseDown'#14'OnMouseWheelUp'#7#27'GradTabControl1MouseWheelUp'#16 +'dTabControl1MouseDown'#14'OnMouseWheelUp'#7#27'GradTabControl1MouseWheelUp'
+'OnMouseWheelDown'#7#29'GradTabControl1MouseWheelDown'#9'PageIndex'#2#0#9'Ta' +#16'OnMouseWheelDown'#7#29'GradTabControl1MouseWheelDown'#9'PageIndex'#2#0#9
+'bHeight'#2#20#8'LongTabs'#8#9'LongWidth'#2'e'#13'OnPageChanged'#7#26'GradTa' +'TabHeight'#2#20#8'LongTabs'#8#9'LongWidth'#2'e'#13'OnPageChanged'#7#26'Grad'
+'bControl1PageChanged'#23'ShowLeftTopScrollButton'#8#27'ShowRightBottomScrol' +'TabControl1PageChanged'#23'ShowLeftTopScrollButton'#8#27'ShowRightBottomScr'
+'lButton'#8#6'Images'#7#10'ImageList1'#0#12'TGradTabPage'#12'GradTabPage3'#4 +'ollButton'#8#6'Images'#7#10'ImageList1'#10'CustomDraw'#8#0#12'TGradTabPage'
+'Left'#2#2#6'Height'#3#210#1#3'Top'#2#22#5'Width'#3#128#2#9'PageIndex'#2#2#7 +#12'GradTabPage3'#4'Left'#2#2#6'Height'#3#210#1#3'Top'#2#22#5'Width'#3#128#2
+'Caption'#6#12'GradTabPage3'#8'TabColor'#7#6'clBlue'#16'TabTextAlignment'#7 +#9'PageIndex'#2#1#7'Caption'#6#12'GradTabPage3'#8'TabColor'#7#6'clBlue'#16'T'
+#13'taLeftJustify'#13'TabGlyph.Data'#10':'#4#0#0'6'#4#0#0'BM6'#4#0#0#0#0#0#0 +'abTextAlignment'#7#13'taLeftJustify'#13'TabGlyph.Data'#10':'#4#0#0'6'#4#0#0
+'6'#0#0#0'('#0#0#0#16#0#0#0#16#0#0#0#1#0' '#0#0#0#0#0#0#4#0#0'd'#0#0#0'd'#0#0 +'BM6'#4#0#0#0#0#0#0'6'#0#0#0'('#0#0#0#16#0#0#0#16#0#0#0#1#0' '#0#0#0#0#0#0#4
+#0#0#0#0#0#0#0#0#0'nUN'#141'pND'#166'h?5'#165#28#14#14#18#134#198#220'-k'#194 +#0#0'd'#0#0#0'd'#0#0#0#0#0#0#0#0#0#0#0'nUN'#141'pND'#166'h?5'#165#28#14#14#18
+#225#153'_'#188#221#184'U'#180#212#210'L'#169#202#232'C'#160#192#234'>'#156 +#134#198#220'-k'#194#225#153'_'#188#221#184'U'#180#212#210'L'#169#202#232'C'
+#188#213'B'#158#191#188'P'#168#199#159'y'#185#208';'#0#0'#'#0#0#0'#'#0'fNI' +#160#192#234'>'#156#188#213'B'#158#191#188'P'#168#199#159'y'#185#208';'#0#0
+#130'Y=7pmB7pa'#134#150'Dp'#208#242#246'_'#199#235#255'S'#187#223#255'G'#176 +'#'#0#0#0'#'#0'fNI'#130'Y=7pmB7pa'#134#150'Dp'#208#242#246'_'#199#235#255'S'
+#187#223#255'G'#176#212#255'<'#164#200#255'0'#153#189#255'('#144#180#255')'
+#144#181#255'4'#156#192#255'U'#183#217#250#133#201#225'O'#0#0'#'#0'Q<6&nKB'
+#142'L-&kv'#187#210'ok'#210#245#255']'#186#213#255'Q'#175#205#255'R'#172#200
+#255'J'#168#199#255'E'#163#195#255'F'#159#188#255'='#153#184#255'@'#158#187
+#255'O'#181#217#255'z'#205#235#130#0#0'#'#0#0#0#0#6'X>5|`:0'#181'{'#175#193
+'m^'#187#219#252'^'#193#227#255'Z'#187#220#255'G'#176#212#255'<'#164#200#255
+'0'#153#189#255'('#144#180#255'3'#149#182#255'B'#162#196#255'T'#177#209#253
+'~'#192#210#136#0#0'#'#0#0#0'#'#0'iH>'#131'_90'#142#133#204#230'Zk'#210#246
+#255'_'#199#235#255'S'#187#223#255'G'#176#212#255'D'#164#195#255':'#154#183
+#255'('#144#180#255')'#144#181#255'4'#156#192#255'N'#182#218#255'}'#204#230
+'x'#0#0'#'#0#0#0#0#7'^?8m_8.it'#183#205'rh'#197#226#255'U'#176#205#255'N'#175
+#206#255'J'#171#205#255'C'#169#204#255'='#163#199#255'='#160#193#255'@'#161
+#193#255'I'#164#195#255'Q'#175#205#255'z'#204#233#130#0#0'#'#0#0#0#0#4'^A7'
+#138'e>3w'#133#184#196'Qi'#196#229#252'`'#199#235#255'S'#187#223#255'G'#176
+#212#255'<'#164#200#255'0'#153#189#255'('#144#180#255')'#144#181#255'4'#156 +#212#255'<'#164#200#255'0'#153#189#255'('#144#180#255')'#144#181#255'4'#156
+#192#255'U'#183#217#250#133#201#225'O'#0#0'#'#0'Q<6&nKB'#142'L-&kv'#187#210 +#192#255'W'#181#213#253#135#187#204'w'#0#0'#'#0#0#0'#'#0',#'#26#29'Q2)'#138
+'ok'#210#245#255']'#186#213#255'Q'#175#205#255'R'#172#200#255'J'#168#199#255 +'p'#177#198'qj'#210#246#255'`'#199#234#255'\'#183#211#255'O'#171#199#255'B'
+'E'#163#195#255'F'#159#188#255'='#153#184#255'@'#158#187#255'O'#181#217#255 +#161#192#255';'#155#185#255'9'#149#176#255'8'#146#175#255'6'#156#191#255'N'
+'z'#205#235#130#0#0'#'#0#0#0#0#6'X>5|`:0'#181'{'#175#193'm^'#187#219#252'^' +#182#218#255'{'#206#233#129#0#0'#'#0#0#0#0#4'pND'#150'lB7'#154'z'#187#206'q]'
+#193#227#255'Z'#187#220#255'G'#176#212#255'<'#164#200#255'0'#153#189#255'(' +#184#210#255'P'#178#212#255'I'#179#216#255'D'#176#212#255'A'#168#205#255'9'
+#144#180#255'3'#149#182#255'B'#162#196#255'T'#177#209#253'~'#192#210#136#0#0 +#160#196#255'4'#157#194#255'5'#160#198#255'@'#165#198#255'O'#172#200#255'~'
+'#'#0#0#0'#'#0'iH>'#131'_90'#142#133#204#230'Zk'#210#246#255'_'#199#235#255 +#202#228#134#0#0'#'#0#0#0#0#5'bD;'#177'P0('#159't'#157#168'Sl'#205#238#251'_'
+#199#235#255'S'#187#223#255'G'#176#212#255'<'#164#200#255'0'#153#189#255'('
+#144#180#255')'#144#181#255'4'#156#192#255'U'#182#216#253#130#192#205'l'#0#0
+'#'#0#0#0'#'#0'dF='#150'G,$]{'#196#221'lj'#210#246#255'`'#189#217#255'O'#176
+#205#255'J'#170#200#255'L'#168#196#255'I'#164#193#255'='#154#184#255'6'#151
+#182#255'@'#157#187#255'N'#182#218#255'z'#204#233#130#0#0'#'#0'dNF'#128'hH?'
+#142'U5-~'#132#197#217'j['#186#217#252'Y'#190#225#255'Y'#185#219#255'P'#177
+#211#255'<'#164#200#255'0'#153#189#255'1'#147#181#255'9'#153#187#255'@'#164
+#199#255'P'#175#207#253'|'#195#215#135#0#0'#'#0'kRJ|pLE'#137'\9-l'#195#218
+'Ol'#210#245#254'_'#199#235#255'S'#187#223#255'G'#176#212#255'<'#164#200#255
+'0'#153#189#255'('#144#180#255')'#145#181#255'4'#156#192#255'O'#182#218#255
+#130#205#229'o'#0#0'#'#0#0#0#0#6'6"'#27'&M.(t}'#198#223'lk'#204#235#255'I'
+#175#207#255';'#166#201#255'4'#162#197#255'.'#158#195#255'-'#157#194#255'-'
+#156#191#255'/'#155#190#255'6'#158#192#255'P'#178#210#255'y'#204#234#130#0#0
+'#'#0#0#0#0#9'bB:'#188'R2('#164'z'#164#179'U7'#162#195#243#24#159#207#255#24
+#159#207#255#24#159#207#255#24#159#207#255#24#159#207#255#24#159#207#255#24
+#159#207#255#24#159#207#255'.'#159#196#247'{'#184#200'i'#0#0'#'#0#0#0'#'#0'{'
,'SIfg@4'#148#26#0#0#10'q'#161#162'$:'#159#189#158'1'#159#193#188'.'#159#195
+#211'+'#158#196#234'+'#159#195#236'-'#159#195#214'0'#159#195#191'7'#160#192
+#164'^'#161#173'1'#0#0'#'#0#0#0'#'#0#12'TabShowGlyph'#9#15'TabButtonLayout'#7
+#11'blGlyphLeft'#0#0#12'TGradTabPage'#12'GradTabPage2'#4'Left'#2#2#6'Height'
+#3#232#1#3'Top'#2#22#5'Width'#3#130#2#9'PageIndex'#2#2#7'Caption'#6#12'GradT'
+'abPage2'#15'ShowCloseButton'#9#8'TabColor'#7#6'clBlue'#16'TabTextAlignment'
+#7#13'taLeftJustify'#13'TabGlyph.Data'#10':'#4#0#0'6'#4#0#0'BM6'#4#0#0#0#0#0
+#0'6'#0#0#0'('#0#0#0#16#0#0#0#16#0#0#0#1#0' '#0#0#0#0#0#0#4#0#0'd'#0#0#0'd'#0
+#0#0#0#0#0#0#0#0#0#0'nUN'#141'pND'#166'h?5'#165#28#14#14#18#134#198#220'-k'
+#194#225#153'_'#188#221#184'U'#180#212#210'L'#169#202#232'C'#160#192#234'>'
+#156#188#213'B'#158#191#188'P'#168#199#159'y'#185#208';'#0#0'#'#0#0#0'#'#0'f'
+'NI'#130'Y=7pmB7pa'#134#150'Dp'#208#242#246'_'#199#235#255'S'#187#223#255'G'
+#176#212#255'<'#164#200#255'0'#153#189#255'('#144#180#255')'#144#181#255'4'
+#156#192#255'U'#183#217#250#133#201#225'O'#0#0'#'#0'Q<6&nKB'#142'L-&kv'#187
+#210'ok'#210#245#255']'#186#213#255'Q'#175#205#255'R'#172#200#255'J'#168#199
+#255'E'#163#195#255'F'#159#188#255'='#153#184#255'@'#158#187#255'O'#181#217
+#255'z'#205#235#130#0#0'#'#0#0#0#0#6'X>5|`:0'#181'{'#175#193'm^'#187#219#252
+'^'#193#227#255'Z'#187#220#255'G'#176#212#255'<'#164#200#255'0'#153#189#255
+'('#144#180#255'3'#149#182#255'B'#162#196#255'T'#177#209#253'~'#192#210#136#0
+#0'#'#0#0#0'#'#0'iH>'#131'_90'#142#133#204#230'Zk'#210#246#255'_'#199#235#255
+'S'#187#223#255'G'#176#212#255'D'#164#195#255':'#154#183#255'('#144#180#255 +'S'#187#223#255'G'#176#212#255'D'#164#195#255':'#154#183#255'('#144#180#255
+')'#144#181#255'4'#156#192#255'N'#182#218#255'}'#204#230'x'#0#0'#'#0#0#0#0#7 +')'#144#181#255'4'#156#192#255'N'#182#218#255'}'#204#230'x'#0#0'#'#0#0#0#0#7
+'^?8m_8.it'#183#205'rh'#197#226#255'U'#176#205#255'N'#175#206#255'J'#171#205 +'^?8m_8.it'#183#205'rh'#197#226#255'U'#176#205#255'N'#175#206#255'J'#171#205
@ -65,223 +115,174 @@ LazarusResources.Add('TForm1','FORMDATA',[
+#188'R2('#164'z'#164#179'U7'#162#195#243#24#159#207#255#24#159#207#255#24#159 +#188'R2('#164'z'#164#179'U7'#162#195#243#24#159#207#255#24#159#207#255#24#159
+#207#255#24#159#207#255#24#159#207#255#24#159#207#255#24#159#207#255#24#159 +#207#255#24#159#207#255#24#159#207#255#24#159#207#255#24#159#207#255#24#159
+#207#255'.'#159#196#247'{'#184#200'i'#0#0'#'#0#0#0'#'#0'{SIfg@4'#148#26#0#0 +#207#255'.'#159#196#247'{'#184#200'i'#0#0'#'#0#0#0'#'#0'{SIfg@4'#148#26#0#0
,#10'q'#161#162'$:'#159#189#158'1'#159#193#188'.'#159#195#211'+'#158#196#234 +#10'q'#161#162'$:'#159#189#158'1'#159#193#188'.'#159#195#211'+'#158#196#234
+'+'#159#195#236'-'#159#195#214'0'#159#195#191'7'#160#192#164'^'#161#173'1'#0 +'+'#159#195#236'-'#159#195#214'0'#159#195#191'7'#160#192#164'^'#161#173'1'#0
+#0'#'#0#0#0'#'#0#12'TabShowGlyph'#9#15'TabButtonLayout'#7#11'blGlyphLeft'#0#0 +#0'#'#0#0#0'#'#0#12'TabShowGlyph'#9#15'TabButtonLayout'#7#11'blGlyphLeft'#0#0
+#12'TGradTabPage'#12'GradTabPage2'#4'Left'#2#2#6'Height'#3#210#1#3'Top'#2#22 +#12'TGradTabPage'#12'GradTabPage1'#4'Left'#2#2#6'Height'#3#210#1#3'Top'#2#22
+#5'Width'#3#128#2#9'PageIndex'#2#1#7'Caption'#6#12'GradTabPage2'#15'ShowClos' +#5'Width'#3#128#2#9'PageIndex'#2#0#7'Caption'#6#9'Some Memo'#15'ShowCloseBut'
+'eButton'#9#8'TabColor'#7#6'clBlue'#16'TabTextAlignment'#7#13'taLeftJustify' +'ton'#9#5'Color'#7#10'clGrayText'#8'TabColor'#7#7'clGreen'#16'TabTextAlignme'
+#13'TabGlyph.Data'#10':'#4#0#0'6'#4#0#0'BM6'#4#0#0#0#0#0#0'6'#0#0#0'('#0#0#0 +'nt'#7#13'taLeftJustify'#13'TabGlyph.Data'#10':'#4#0#0'6'#4#0#0'BM6'#4#0#0#0
+#16#0#0#0#16#0#0#0#1#0' '#0#0#0#0#0#0#4#0#0'd'#0#0#0'd'#0#0#0#0#0#0#0#0#0#0#0 +#0#0#0'6'#0#0#0'('#0#0#0#16#0#0#0#16#0#0#0#1#0' '#0#0#0#0#0#0#4#0#0'd'#0#0#0
+'nUN'#141'pND'#166'h?5'#165#28#14#14#18#134#198#220'-k'#194#225#153'_'#188 +'d'#0#0#0#0#0#0#0#0#0#0#0'nUN'#141'pND'#166'h?5'#165#28#14#14#18#134#198#220
+#221#184'U'#180#212#210'L'#169#202#232'C'#160#192#234'>'#156#188#213'B'#158 +'-k'#194#225#153'_'#188#221#184'U'#180#212#210'L'#169#202#232'C'#160#192#234
+#191#188'P'#168#199#159'y'#185#208';'#0#0'#'#0#0#0'#'#0'fNI'#130'Y=7pmB7pa' +'>'#156#188#213'B'#158#191#188'P'#168#199#159'y'#185#208';'#0#0'#'#0#0#0'#'#0
+#134#150'Dp'#208#242#246'_'#199#235#255'S'#187#223#255'G'#176#212#255'<'#164 +'fNI'#130'Y=7pmB7pa'#134#150'Dp'#208#242#246'_'#199#235#255'S'#187#223#255'G'
+#200#255'0'#153#189#255'('#144#180#255')'#144#181#255'4'#156#192#255'U'#183 +#176#212#255'<'#164#200#255'0'#153#189#255'('#144#180#255')'#144#181#255'4'
+#217#250#133#201#225'O'#0#0'#'#0'Q<6&nKB'#142'L-&kv'#187#210'ok'#210#245#255 +#156#192#255'U'#183#217#250#133#201#225'O'#0#0'#'#0'Q<6&nKB'#142'L-&kv'#187
+']'#186#213#255'Q'#175#205#255'R'#172#200#255'J'#168#199#255'E'#163#195#255 ,#210'ok'#210#245#255']'#186#213#255'Q'#175#205#255'R'#172#200#255'J'#168#199
+'F'#159#188#255'='#153#184#255'@'#158#187#255'O'#181#217#255'z'#205#235#130#0 +#255'E'#163#195#255'F'#159#188#255'='#153#184#255'@'#158#187#255'O'#181#217
+#0'#'#0#0#0#0#6'X>5|`:0'#181'{'#175#193'm^'#187#219#252'^'#193#227#255'Z'#187 +#255'z'#205#235#130#0#0'#'#0#0#0#0#6'X>5|`:0'#181'{'#175#193'm^'#187#219#252
+#220#255'G'#176#212#255'<'#164#200#255'0'#153#189#255'('#144#180#255'3'#149 +'^'#193#227#255'Z'#187#220#255'G'#176#212#255'<'#164#200#255'0'#153#189#255
+#182#255'B'#162#196#255'T'#177#209#253'~'#192#210#136#0#0'#'#0#0#0'#'#0'iH>' +'('#144#180#255'3'#149#182#255'B'#162#196#255'T'#177#209#253'~'#192#210#136#0
+#131'_90'#142#133#204#230'Zk'#210#246#255'_'#199#235#255'S'#187#223#255'G' +#0'#'#0#0#0'#'#0'iH>'#131'_90'#142#133#204#230'Zk'#210#246#255'_'#199#235#255
+#176#212#255'D'#164#195#255':'#154#183#255'('#144#180#255')'#144#181#255'4' +'S'#187#223#255'G'#176#212#255'D'#164#195#255':'#154#183#255'('#144#180#255
+#156#192#255'N'#182#218#255'}'#204#230'x'#0#0'#'#0#0#0#0#7'^?8m_8.it'#183#205 +')'#144#181#255'4'#156#192#255'N'#182#218#255'}'#204#230'x'#0#0'#'#0#0#0#0#7
+'rh'#197#226#255'U'#176#205#255'N'#175#206#255'J'#171#205#255'C'#169#204#255 +'^?8m_8.it'#183#205'rh'#197#226#255'U'#176#205#255'N'#175#206#255'J'#171#205
+'='#163#199#255'='#160#193#255'@'#161#193#255'I'#164#195#255'Q'#175#205#255 +#255'C'#169#204#255'='#163#199#255'='#160#193#255'@'#161#193#255'I'#164#195
+'z'#204#233#130#0#0'#'#0#0#0#0#4'^A7'#138'e>3w'#133#184#196'Qi'#196#229#252 +#255'Q'#175#205#255'z'#204#233#130#0#0'#'#0#0#0#0#4'^A7'#138'e>3w'#133#184
+'`'#199#235#255'S'#187#223#255'G'#176#212#255'<'#164#200#255'0'#153#189#255 +#196'Qi'#196#229#252'`'#199#235#255'S'#187#223#255'G'#176#212#255'<'#164#200
+'('#144#180#255')'#144#181#255'4'#156#192#255'W'#181#213#253#135#187#204'w'#0 +#255'0'#153#189#255'('#144#180#255')'#144#181#255'4'#156#192#255'W'#181#213
+#0'#'#0#0#0'#'#0',#'#26#29'Q2)'#138'p'#177#198'qj'#210#246#255'`'#199#234#255 +#253#135#187#204'w'#0#0'#'#0#0#0'#'#0',#'#26#29'Q2)'#138'p'#177#198'qj'#210
+'\'#183#211#255'O'#171#199#255'B'#161#192#255';'#155#185#255'9'#149#176#255 +#246#255'`'#199#234#255'\'#183#211#255'O'#171#199#255'B'#161#192#255';'#155
+'8'#146#175#255'6'#156#191#255'N'#182#218#255'{'#206#233#129#0#0'#'#0#0#0#0#4 +#185#255'9'#149#176#255'8'#146#175#255'6'#156#191#255'N'#182#218#255'{'#206
+'pND'#150'lB7'#154'z'#187#206'q]'#184#210#255'P'#178#212#255'I'#179#216#255 +#233#129#0#0'#'#0#0#0#0#4'pND'#150'lB7'#154'z'#187#206'q]'#184#210#255'P'#178
+'D'#176#212#255'A'#168#205#255'9'#160#196#255'4'#157#194#255'5'#160#198#255 +#212#255'I'#179#216#255'D'#176#212#255'A'#168#205#255'9'#160#196#255'4'#157
+'@'#165#198#255'O'#172#200#255'~'#202#228#134#0#0'#'#0#0#0#0#5'bD;'#177'P0(' +#194#255'5'#160#198#255'@'#165#198#255'O'#172#200#255'~'#202#228#134#0#0'#'#0
+#159't'#157#168'Sl'#205#238#251'_'#199#235#255'S'#187#223#255'G'#176#212#255 +#0#0#0#5'bD;'#177'P0('#159't'#157#168'Sl'#205#238#251'_'#199#235#255'S'#187
+'<'#164#200#255'0'#153#189#255'('#144#180#255')'#144#181#255'4'#156#192#255 +#223#255'G'#176#212#255'<'#164#200#255'0'#153#189#255'('#144#180#255')'#144
+'U'#182#216#253#130#192#205'l'#0#0'#'#0#0#0'#'#0'dF='#150'G,$]{'#196#221'lj' +#181#255'4'#156#192#255'U'#182#216#253#130#192#205'l'#0#0'#'#0#0#0'#'#0'dF='
+#210#246#255'`'#189#217#255'O'#176#205#255'J'#170#200#255'L'#168#196#255'I' +#150'G,$]{'#196#221'lj'#210#246#255'`'#189#217#255'O'#176#205#255'J'#170#200
+#164#193#255'='#154#184#255'6'#151#182#255'@'#157#187#255'N'#182#218#255'z' +#255'L'#168#196#255'I'#164#193#255'='#154#184#255'6'#151#182#255'@'#157#187
+#204#233#130#0#0'#'#0'dNF'#128'hH?'#142'U5-~'#132#197#217'j['#186#217#252'Y' +#255'N'#182#218#255'z'#204#233#130#0#0'#'#0'dNF'#128'hH?'#142'U5-~'#132#197
+#190#225#255'Y'#185#219#255'P'#177#211#255'<'#164#200#255'0'#153#189#255'1' +#217'j['#186#217#252'Y'#190#225#255'Y'#185#219#255'P'#177#211#255'<'#164#200
+#147#181#255'9'#153#187#255'@'#164#199#255'P'#175#207#253'|'#195#215#135#0#0 +#255'0'#153#189#255'1'#147#181#255'9'#153#187#255'@'#164#199#255'P'#175#207
+'#'#0'kRJ|pLE'#137'\9-l'#195#218'Ol'#210#245#254'_'#199#235#255'S'#187#223 +#253'|'#195#215#135#0#0'#'#0'kRJ|pLE'#137'\9-l'#195#218'Ol'#210#245#254'_'
+#255'G'#176#212#255'<'#164#200#255'0'#153#189#255'('#144#180#255')'#145#181 +#199#235#255'S'#187#223#255'G'#176#212#255'<'#164#200#255'0'#153#189#255'('
+#255'4'#156#192#255'O'#182#218#255#130#205#229'o'#0#0'#'#0#0#0#0#6'6"'#27'&M' +#144#180#255')'#145#181#255'4'#156#192#255'O'#182#218#255#130#205#229'o'#0#0
+'.(t}'#198#223'lk'#204#235#255'I'#175#207#255';'#166#201#255'4'#162#197#255 +'#'#0#0#0#0#6'6"'#27'&M.(t}'#198#223'lk'#204#235#255'I'#175#207#255';'#166
+'.'#158#195#255'-'#157#194#255'-'#156#191#255'/'#155#190#255'6'#158#192#255 +#201#255'4'#162#197#255'.'#158#195#255'-'#157#194#255'-'#156#191#255'/'#155
+'P'#178#210#255'y'#204#234#130#0#0'#'#0#0#0#0#9'bB:'#188'R2('#164'z'#164#179 +#190#255'6'#158#192#255'P'#178#210#255'y'#204#234#130#0#0'#'#0#0#0#0#9'bB:'
+'U7'#162#195#243#24#159#207#255#24#159#207#255#24#159#207#255#24#159#207#255 +#188'R2('#164'z'#164#179'U7'#162#195#243#24#159#207#255#24#159#207#255#24#159
+#24#159#207#255#24#159#207#255#24#159#207#255#24#159#207#255'.'#159#196#247 +#207#255#24#159#207#255#24#159#207#255#24#159#207#255#24#159#207#255#24#159
+'{'#184#200'i'#0#0'#'#0#0#0'#'#0'{SIfg@4'#148#26#0#0#10'q'#161#162'$:'#159 +#207#255'.'#159#196#247'{'#184#200'i'#0#0'#'#0#0#0'#'#0'{SIfg@4'#148#26#0#0
+#189#158'1'#159#193#188'.'#159#195#211'+'#158#196#234'+'#159#195#236'-'#159 +#10'q'#161#162'$:'#159#189#158'1'#159#193#188'.'#159#195#211'+'#158#196#234
+#195#214'0'#159#195#191'7'#160#192#164'^'#161#173'1'#0#0'#'#0#0#0'#'#0#12'Ta' +'+'#159#195#236'-'#159#195#214'0'#159#195#191'7'#160#192#164'^'#161#173'1'#0
+'bShowGlyph'#9#15'TabButtonLayout'#7#11'blGlyphLeft'#0#0#12'TGradTabPage'#12 +#0'#'#0#0#0'#'#0#12'TabShowGlyph'#9#15'TabButtonLayout'#7#11'blGlyphLeft'#0#5
+'GradTabPage1'#4'Left'#2#2#6'Height'#3#210#1#3'Top'#2#22#5'Width'#3#128#2#9 +'TMemo'#5'Memo1'#4'Left'#3'8'#1#6'Height'#3#210#1#3'Top'#2#0#5'Width'#3'H'#1
+'PageIndex'#2#0#7'Caption'#6#9'Some Memo'#15'ShowCloseButton'#9#5'Color'#7#10 +#5'Align'#7#7'alRight'#13'Lines.Strings'#1#6#9'Some Memo'#6#7'alRight'#0#8'T'
+'clGrayText'#8'TabColor'#7#7'clGreen'#16'TabTextAlignment'#7#13'taLeftJustif' +'abOrder'#2#0#0#0#0#0#0#6'TPanel'#6'Panel2'#4'Left'#3#134#2#6'Height'#3#236#1
+'y'#13'TabGlyph.Data'#10':'#4#0#0'6'#4#0#0'BM6'#4#0#0#0#0#0#0'6'#0#0#0'('#0#0 +#3'Top'#2#0#5'Width'#3#238#0#5'Align'#7#7'alRight'#12'ClientHeight'#3#236#1
+#0#16#0#0#0#16#0#0#0#1#0' '#0#0#0#0#0#0#4#0#0'd'#0#0#0'd'#0#0#0#0#0#0#0#0#0#0 +#11'ClientWidth'#3#238#0#8'TabOrder'#2#1#0#6'TLabel'#6'Label1'#4'Left'#2#16#6
+#0'nUN'#141'pND'#166'h?5'#165#28#14#14#18#134#198#220'-k'#194#225#153'_'#188 +'Height'#2#16#3'Top'#3#160#0#5'Width'#2'9'#7'Caption'#6#9'TabHeight'#11'Pare'
+#221#184'U'#180#212#210'L'#169#202#232'C'#160#192#234'>'#156#188#213'B'#158 +'ntColor'#8#0#0#9'TComboBox'#9'ComboBox1'#4'Left'#2#16#6'Height'#2#23#3'Top'
+#191#188'P'#168#199#159'y'#185#208';'#0#0'#'#0#0#0'#'#0'fNI'#130'Y=7pmB7pa' +#2#16#5'Width'#2'd'#10'ItemHeight'#2#15#8'OnChange'#7#15'ComboBox1Change'#5
+#134#150'Dp'#208#242#246'_'#199#235#255'S'#187#223#255'G'#176#212#255'<'#164 +'Style'#7#14'csDropDownList'#8'TabOrder'#2#0#0#0#11'TRadioGroup'#11'RadioGro'
+#200#255'0'#153#189#255'('#144#180#255')'#144#181#255'4'#156#192#255'U'#183 +'up1'#4'Left'#3#128#0#6'Height'#2'q'#3'Top'#2#16#5'Width'#2'd'#8'AutoFill'#9
+#217#250#133#201#225'O'#0#0'#'#0'Q<6&nKB'#142'L-&kv'#187#210'ok'#210#245#255 +#7'Caption'#6#12'Tab Position'#28'ChildSizing.LeftRightSpacing'#2#6#28'Child'
,']'#186#213#255'Q'#175#205#255'R'#172#200#255'J'#168#199#255'E'#163#195#255 +'Sizing.TopBottomSpacing'#2#6#29'ChildSizing.EnlargeHorizontal'#7#24'crsHomo'
+'F'#159#188#255'='#153#184#255'@'#158#187#255'O'#181#217#255'z'#205#235#130#0 +'genousChildResize'#27'ChildSizing.EnlargeVertical'#7#24'crsHomogenousChildR'
+#0'#'#0#0#0#0#6'X>5|`:0'#181'{'#175#193'm^'#187#219#252'^'#193#227#255'Z'#187 +'esize'#28'ChildSizing.ShrinkHorizontal'#7#14'crsScaleChilds'#26'ChildSizing'
+#220#255'G'#176#212#255'<'#164#200#255'0'#153#189#255'('#144#180#255'3'#149 +'.ShrinkVertical'#7#14'crsScaleChilds'#18'ChildSizing.Layout'#7#29'cclLeftTo'
+#182#255'B'#162#196#255'T'#177#209#253'~'#192#210#136#0#0'#'#0#0#0'#'#0'iH>' +'RightThenTopToBottom'#27'ChildSizing.ControlsPerLine'#2#1#12'ClientHeight'#2
+#131'_90'#142#133#204#230'Zk'#210#246#255'_'#199#235#255'S'#187#223#255'G' +'_'#11'ClientWidth'#2'`'#9'ItemIndex'#2#0#13'Items.Strings'#1#6#5'tpTop'#6#8
+#176#212#255'D'#164#195#255':'#154#183#255'('#144#180#255')'#144#181#255'4' +'tpBottom'#6#6'tpLeft'#6#7'tpRight'#0#7'OnClick'#7#16'RadioGroup1Click'#8'Ta'
+#156#192#255'N'#182#218#255'}'#204#230'x'#0#0'#'#0#0#0#0#7'^?8m_8.it'#183#205 +'bOrder'#2#1#0#0#9'TCheckBox'#9'CheckBox1'#4'Left'#2#16#6'Height'#2#16#3'Top'
+'rh'#197#226#255'U'#176#205#255'N'#175#206#255'J'#171#205#255'C'#169#204#255 +#2'p'#5'Width'#2'd'#8'AutoSize'#8#7'Caption'#6#9'Long Tabs'#7'OnClick'#7#14
+'='#163#199#255'='#160#193#255'@'#161#193#255'I'#164#195#255'Q'#175#205#255 +'CheckBox1Click'#8'TabOrder'#2#2#0#0#11'TGradButton'#10'NewPageBtn'#4'Left'#2
+'z'#204#233#130#0#0'#'#0#0#0#0#4'^A7'#138'e>3w'#133#184#196'Qi'#196#229#252 +#16#6'Height'#2#25#3'Top'#2'0'#5'Width'#2'd'#7'Caption'#6#8'New Page'#10'Fon'
+'`'#199#235#255'S'#187#223#255'G'#176#212#255'<'#164#200#255'0'#153#189#255 +'t.Color'#7#7'clWhite'#7'OnClick'#7#15'NewPageBtnClick'#8'TabOrder'#2#3#7'Ta'
+'('#144#180#255')'#144#181#255'4'#156#192#255'W'#181#213#253#135#187#204'w'#0 +'bStop'#9#11'NormalBlend'#5#0#0#0#0#0#0#0#128#254'?'#9'OverBlend'#5'5^'#186
+#0'#'#0#0#0'#'#0',#'#26#29'Q2)'#138'p'#177#198'qj'#210#246#255'`'#199#234#255 +'I'#12#2'+'#167#254'?'#9'BaseColor'#7#6'clBlue'#5'Color'#7#6'clBlue'#16'Norm'
+'\'#183#211#255'O'#171#199#255'B'#161#192#255';'#155#185#255'9'#149#176#255 ,'alBlendColor'#7#7'clWhite'#14'OverBlendColor'#7#8'clSilver'#15'BackgroundCo'
+'8'#146#175#255'6'#156#191#255'N'#182#218#255'{'#206#233#129#0#0'#'#0#0#0#0#4 +'lor'#7#9'clBtnFace'#15'ShowFocusBorder'#9#9'ShowGlyph'#8#20'GlyphBackground'
+'pND'#150'lB7'#154'z'#187#206'q]'#184#210#255'P'#178#212#255'I'#179#216#255 +'Color'#7#7'clWhite'#10'ClickColor'#7#6'clBlue'#19'OwnerBackgroundDraw'#8#22
+'D'#176#212#255'A'#168#205#255'9'#160#196#255'4'#157#194#255'5'#160#198#255 +'AutoWidthBorderSpacing'#2#15#23'AutoHeightBorderSpacing'#2#15#0#0#11'TGradB'
+'@'#165#198#255'O'#172#200#255'~'#202#228#134#0#0'#'#0#0#0#0#5'bD;'#177'P0(' +'utton'#9'DeleteBtn'#4'Left'#2#16#6'Height'#2#25#3'Top'#2'P'#5'Width'#2'd'#7
+#159't'#157#168'Sl'#205#238#251'_'#199#235#255'S'#187#223#255'G'#176#212#255 +'Caption'#6#6'Delete'#10'Font.Color'#7#7'clWhite'#7'OnClick'#7#14'DeleteBtnC'
+'<'#164#200#255'0'#153#189#255'('#144#180#255')'#144#181#255'4'#156#192#255 +'lick'#8'TabOrder'#2#4#7'TabStop'#9#11'NormalBlend'#5#0#0#0#0#0#0#0#128#254
+'U'#182#216#253#130#192#205'l'#0#0'#'#0#0#0'#'#0'dF='#150'G,$]{'#196#221'lj' +'?'#9'OverBlend'#5'5^'#186'I'#12#2'+'#167#254'?'#9'BaseColor'#7#6'clBlue'#5
+#210#246#255'`'#189#217#255'O'#176#205#255'J'#170#200#255'L'#168#196#255'I' +'Color'#7#6'clBlue'#16'NormalBlendColor'#7#7'clWhite'#14'OverBlendColor'#7#8
+#164#193#255'='#154#184#255'6'#151#182#255'@'#157#187#255'N'#182#218#255'z' +'clSilver'#15'BackgroundColor'#7#9'clBtnFace'#15'ShowFocusBorder'#9#9'ShowGl'
+#204#233#130#0#0'#'#0'dNF'#128'hH?'#142'U5-~'#132#197#217'j['#186#217#252'Y' +'yph'#8#20'GlyphBackgroundColor'#7#7'clWhite'#10'ClickColor'#7#6'clBlue'#19
+#190#225#255'Y'#185#219#255'P'#177#211#255'<'#164#200#255'0'#153#189#255'1' +'OwnerBackgroundDraw'#8#22'AutoWidthBorderSpacing'#2#15#23'AutoHeightBorderS'
+#147#181#255'9'#153#187#255'@'#164#199#255'P'#175#207#253'|'#195#215#135#0#0 +'pacing'#2#15#0#0#9'TSpinEdit'#9'SpinEdit2'#4'Left'#2#16#6'Height'#2#25#3'To'
+'#'#0'kRJ|pLE'#137'\9-l'#195#218'Ol'#210#245#254'_'#199#235#255'S'#187#223 +'p'#3#176#0#5'Width'#2'd'#13'OnEditingDone'#7#20'SpinEdit2EditingDone'#8'Tab'
+#255'G'#176#212#255'<'#164#200#255'0'#153#189#255'('#144#180#255')'#145#181 +'Order'#2#5#0#0#5'TEdit'#5'Edit1'#4'Left'#2#16#6'Height'#2#25#3'Top'#3#136#0
+#255'4'#156#192#255'O'#182#218#255#130#205#229'o'#0#0'#'#0#0#0#0#6'6"'#27'&M' +#5'Width'#2'H'#8'TabOrder'#2#6#4'Text'#6#5'Edit1'#0#0#11'TGradButton'#11'Gra'
+'.(t}'#198#223'lk'#204#235#255'I'#175#207#255';'#166#201#255'4'#162#197#255 +'dButton1'#4'Left'#2'Z'#6'Height'#2#19#3'Top'#3#136#0#5'Width'#2#26#7'Captio'
+'.'#158#195#255'-'#157#194#255'-'#156#191#255'/'#155#190#255'6'#158#192#255 +'n'#6#3'set'#10'Font.Color'#7#7'clWhite'#7'OnClick'#7#16'GradButton1Click'#8
+'P'#178#210#255'y'#204#234#130#0#0'#'#0#0#0#0#9'bB:'#188'R2('#164'z'#164#179 +'TabOrder'#2#7#7'TabStop'#9#11'NormalBlend'#5#0#0#0#0#0#0#0#128#254'?'#9'Ove'
+'U7'#162#195#243#24#159#207#255#24#159#207#255#24#159#207#255#24#159#207#255 +'rBlend'#5'5^'#186'I'#12#2'+'#167#254'?'#9'BaseColor'#7#6'clBlue'#5'Color'#7
+#24#159#207#255#24#159#207#255#24#159#207#255#24#159#207#255'.'#159#196#247 +#6'clBlue'#16'NormalBlendColor'#7#7'clWhite'#14'OverBlendColor'#7#8'clSilver'
+'{'#184#200'i'#0#0'#'#0#0#0'#'#0'{SIfg@4'#148#26#0#0#10'q'#161#162'$:'#159 +#15'BackgroundColor'#7#9'clBtnFace'#15'ShowFocusBorder'#9#9'ShowGlyph'#8#20
+#189#158'1'#159#193#188'.'#159#195#211'+'#158#196#234'+'#159#195#236'-'#159 +'GlyphBackgroundColor'#7#7'clWhite'#10'ClickColor'#7#6'clBlue'#19'OwnerBackg'
+#195#214'0'#159#195#191'7'#160#192#164'^'#161#173'1'#0#0'#'#0#0#0'#'#0#12'Ta' +'roundDraw'#8#22'AutoWidthBorderSpacing'#2#15#23'AutoHeightBorderSpacing'#2
+'bShowGlyph'#9#15'TabButtonLayout'#7#11'blGlyphLeft'#0#5'TMemo'#5'Memo1'#4'L' +#15#0#0#11'TCheckGroup'#11'CheckGroup1'#4'Left'#3#128#0#6'Height'#2'i'#3'Top'
+'eft'#3'8'#1#6'Height'#3#210#1#3'Top'#2#0#5'Width'#3'H'#1#5'Align'#7#7'alRig' +#3#143#0#5'Width'#2'd'#8'AutoFill'#9#7'Caption'#6#14'Scroll Buttons'#28'Chil'
+'ht'#13'Lines.Strings'#1#6#9'Some Memo'#6#7'alRight'#0#8'TabOrder'#2#0#0#0#0 +'dSizing.LeftRightSpacing'#2#6#28'ChildSizing.TopBottomSpacing'#2#6#29'Child'
+#0#0#6'TPanel'#6'Panel2'#4'Left'#3#134#2#6'Height'#3#236#1#3'Top'#2#0#5'Widt' +'Sizing.EnlargeHorizontal'#7#24'crsHomogenousChildResize'#27'ChildSizing.Enl'
+'h'#3#238#0#5'Align'#7#7'alRight'#12'ClientHeight'#3#236#1#11'ClientWidth'#3 +'argeVertical'#7#24'crsHomogenousChildResize'#28'ChildSizing.ShrinkHorizonta'
+#238#0#8'TabOrder'#2#1#0#6'TLabel'#6'Label1'#4'Left'#2#16#6'Height'#2#16#3'T' +'l'#7#14'crsScaleChilds'#26'ChildSizing.ShrinkVertical'#7#14'crsScaleChilds'
+'op'#3#160#0#5'Width'#2'9'#7'Caption'#6#9'TabHeight'#11'ParentColor'#8#0#0#9 +#18'ChildSizing.Layout'#7#29'cclLeftToRightThenTopToBottom'#27'ChildSizing.C'
+'TComboBox'#9'ComboBox1'#4'Left'#2#16#6'Height'#2#23#3'Top'#2#16#5'Width'#2 +'ontrolsPerLine'#2#1#13'Items.Strings'#1#6#4'Auto'#6#7'LeftTop'#6#11'RightBo'
+'d'#10'ItemHeight'#2#15#8'OnChange'#7#15'ComboBox1Change'#5'Style'#7#14'csDr' +'ttom'#0#7'OnClick'#7#16'CheckGroup1Click'#11'OnItemClick'#7#20'CheckGroup1I'
+'opDownList'#8'TabOrder'#2#0#0#0#11'TRadioGroup'#11'RadioGroup1'#4'Left'#3 +'temClick'#8'TabOrder'#2#8#4'Data'#10#7#0#0#0#3#0#0#0#3#2#2#0#0#11'TRadioGro'
+#128#0#6'Height'#2'q'#3'Top'#2#16#5'Width'#2'd'#8'AutoFill'#9#7'Caption'#6#12 +'up'#11'RadioGroup2'#4'Left'#3#130#0#6'Height'#2'i'#3'Top'#3#0#1#5'Width'#2
+'Tab Position'#28'ChildSizing.LeftRightSpacing'#2#6#28'ChildSizing.TopBottom' +'d'#8'AutoFill'#9#7'Caption'#6#17'Tab Button Layout'#28'ChildSizing.LeftRigh'
+'Spacing'#2#6#29'ChildSizing.EnlargeHorizontal'#7#24'crsHomogenousChildResiz' +'tSpacing'#2#6#28'ChildSizing.TopBottomSpacing'#2#6#29'ChildSizing.EnlargeHo'
+'e'#27'ChildSizing.EnlargeVertical'#7#24'crsHomogenousChildResize'#28'ChildS' +'rizontal'#7#24'crsHomogenousChildResize'#27'ChildSizing.EnlargeVertical'#7
+'izing.ShrinkHorizontal'#7#14'crsScaleChilds'#26'ChildSizing.ShrinkVertical' +#24'crsHomogenousChildResize'#28'ChildSizing.ShrinkHorizontal'#7#14'crsScale'
+#7#14'crsScaleChilds'#18'ChildSizing.Layout'#7#29'cclLeftToRightThenTopToBot' +'Childs'#26'ChildSizing.ShrinkVertical'#7#14'crsScaleChilds'#18'ChildSizing.'
+'tom'#27'ChildSizing.ControlsPerLine'#2#1#12'ClientHeight'#2'_'#11'ClientWid' +'Layout'#7#29'cclLeftToRightThenTopToBottom'#27'ChildSizing.ControlsPerLine'
+'th'#2'`'#9'ItemIndex'#2#0#13'Items.Strings'#1#6#5'tpTop'#6#8'tpBottom'#6#6 +#2#1#12'ClientHeight'#2'W'#11'ClientWidth'#2'`'#9'ItemIndex'#2#0#13'Items.St'
+'tpLeft'#6#7'tpRight'#0#7'OnClick'#7#16'RadioGroup1Click'#8'TabOrder'#2#1#0#0 +'rings'#1#6#11'blGlyphLeft'#6#13'blGlyphBottom'#6#12'blGlyphRight'#6#10'blGl'
+#9'TCheckBox'#9'CheckBox1'#4'Left'#2#16#6'Height'#2#16#3'Top'#2'p'#5'Width'#2 +'yphTop'#0#7'OnClick'#7#16'RadioGroup2Click'#8'TabOrder'#2#9#0#0#0#10'TPopup'
+'d'#8'AutoSize'#8#7'Caption'#6#9'Long Tabs'#7'OnClick'#7#14'CheckBox1Click'#8 +'Menu'#10'PopupMenu1'#4'left'#3#222#2#3'top'#3#141#1#0#9'TMenuItem'#9'MenuIt'
+'TabOrder'#2#2#0#0#11'TGradButton'#10'NewPageBtn'#4'Left'#2#16#6'Height'#2#25 +'em1'#3'Tag'#4#152''#18#0#7'Caption'#6#9'New Item1'#0#0#0#10'TImageList'#10
+#3'Top'#2'0'#5'Width'#2'd'#7'Caption'#6#8'New Page'#10'Font.Color'#7#7'clWhi' +'ImageList1'#4'left'#3#144#2#3'top'#3#141#1#6'Bitmap'#10#14#4#0#0'Li'#1#0#0#0
+'te'#7'OnClick'#7#15'NewPageBtnClick'#8'TabOrder'#2#3#7'TabStop'#9#11'Normal' +#16#0#0#0#16#0#0#0#0#0'#'#0'{SIfg@4'#148#26#0#0#10'q'#161#162'$:'#159#189#158
+'Blend'#5#0#0#0#0#0#0#0#128#254'?'#9'OverBlend'#5'5^'#186'I'#12#2'+'#167#254 +'1'#159#193#188'.'#159#195#211'+'#158#196#234'+'#159#195#236'-'#159#195#214
+'?'#9'BaseColor'#7#6'clBlue'#5'Color'#7#6'clBlue'#16'NormalBlendColor'#7#7'c' +'0'#159#195#191'7'#160#192#164'^'#161#173'1'#0#0'#'#0#0#0'#'#0#0#0#0#9'bB:'
,'lWhite'#14'OverBlendColor'#7#8'clSilver'#15'BackgroundColor'#7#9'clBtnFace' +#188'R2('#164'z'#164#179'U7'#162#195#243#24#159#207#255#24#159#207#255#24#159
+#15'ShowFocusBorder'#9#9'ShowGlyph'#8#20'GlyphBackgroundColor'#7#7'clWhite' +#207#255#24#159#207#255#24#159#207#255#24#159#207#255#24#159#207#255#24#159
+#10'ClickColor'#7#6'clBlue'#19'OwnerBackgroundDraw'#8#22'AutoWidthBorderSpac' +#207#255'.'#159#196#247'{'#184#200'i'#0#0'#'#0#0#0#0#6'6"'#27'&M.(t}'#198#223
+'ing'#2#15#23'AutoHeightBorderSpacing'#2#15#0#0#11'TGradButton'#9'DeleteBtn' +'lk'#204#235#255'I'#175#207#255';'#166#201#255'4'#162#197#255'.'#158#195#255
+#4'Left'#2#16#6'Height'#2#25#3'Top'#2'P'#5'Width'#2'd'#7'Caption'#6#6'Delete' +'-'#157#194#255'-'#156#191#255'/'#155#190#255'6'#158#192#255'P'#178#210#255
+#10'Font.Color'#7#7'clWhite'#7'OnClick'#7#14'DeleteBtnClick'#8'TabOrder'#2#4 +'y'#204#234#130#0#0'#'#0'kRJ|pLE'#137'\9-l'#195#218'Ol'#210#245#254'_'#199
+#7'TabStop'#9#11'NormalBlend'#5#0#0#0#0#0#0#0#128#254'?'#9'OverBlend'#5'5^' +#235#255'S'#187#223#255'G'#176#212#255'<'#164#200#255'0'#153#189#255'('#144
+#186'I'#12#2'+'#167#254'?'#9'BaseColor'#7#6'clBlue'#5'Color'#7#6'clBlue'#16 +#180#255')'#145#181#255'4'#156#192#255'O'#182#218#255#130#205#229'o'#0#0'#'#0
+'NormalBlendColor'#7#7'clWhite'#14'OverBlendColor'#7#8'clSilver'#15'Backgrou' +'dNF'#128'hH?'#142'U5-~'#132#197#217'j['#186#217#252'Y'#190#225#255'Y'#185
+'ndColor'#7#9'clBtnFace'#15'ShowFocusBorder'#9#9'ShowGlyph'#8#20'GlyphBackgr' +#219#255'P'#177#211#255'<'#164#200#255'0'#153#189#255'1'#147#181#255'9'#153
+'oundColor'#7#7'clWhite'#10'ClickColor'#7#6'clBlue'#19'OwnerBackgroundDraw'#8 +#187#255'@'#164#199#255'P'#175#207#253'|'#195#215#135#0#0'#'#0#0#0'#'#0'dF='
+#22'AutoWidthBorderSpacing'#2#15#23'AutoHeightBorderSpacing'#2#15#0#0#9'TSpi' +#150'G,$]{'#196#221'lj'#210#246#255'`'#189#217#255'O'#176#205#255'J'#170#200
+'nEdit'#9'SpinEdit2'#4'Left'#2#16#6'Height'#2#25#3'Top'#3#176#0#5'Width'#2'd' +#255'L'#168#196#255'I'#164#193#255'='#154#184#255'6'#151#182#255'@'#157#187
+#13'OnEditingDone'#7#20'SpinEdit2EditingDone'#8'TabOrder'#2#5#0#0#5'TEdit'#5 +#255'N'#182#218#255'z'#204#233#130#0#0'#'#0#0#0#0#5'bD;'#177'P0('#159't'#157
+'Edit1'#4'Left'#2#16#6'Height'#2#25#3'Top'#3#136#0#5'Width'#2'H'#8'TabOrder' ,#168'Sl'#205#238#251'_'#199#235#255'S'#187#223#255'G'#176#212#255'<'#164#200
+#2#6#4'Text'#6#5'Edit1'#0#0#11'TGradButton'#11'GradButton1'#4'Left'#2'Z'#6'H' +#255'0'#153#189#255'('#144#180#255')'#144#181#255'4'#156#192#255'U'#182#216
+'eight'#2#19#3'Top'#3#136#0#5'Width'#2#26#7'Caption'#6#3'set'#10'Font.Color' +#253#130#192#205'l'#0#0'#'#0#0#0#0#4'pND'#150'lB7'#154'z'#187#206'q]'#184#210
+#7#7'clWhite'#7'OnClick'#7#16'GradButton1Click'#8'TabOrder'#2#7#7'TabStop'#9 +#255'P'#178#212#255'I'#179#216#255'D'#176#212#255'A'#168#205#255'9'#160#196
+#11'NormalBlend'#5#0#0#0#0#0#0#0#128#254'?'#9'OverBlend'#5'5^'#186'I'#12#2'+' +#255'4'#157#194#255'5'#160#198#255'@'#165#198#255'O'#172#200#255'~'#202#228
+#167#254'?'#9'BaseColor'#7#6'clBlue'#5'Color'#7#6'clBlue'#16'NormalBlendColo' +#134#0#0'#'#0#0#0'#'#0',#'#26#29'Q2)'#138'p'#177#198'qj'#210#246#255'`'#199
+'r'#7#7'clWhite'#14'OverBlendColor'#7#8'clSilver'#15'BackgroundColor'#7#9'cl' +#234#255'\'#183#211#255'O'#171#199#255'B'#161#192#255';'#155#185#255'9'#149
+'BtnFace'#15'ShowFocusBorder'#9#9'ShowGlyph'#8#20'GlyphBackgroundColor'#7#7 +#176#255'8'#146#175#255'6'#156#191#255'N'#182#218#255'{'#206#233#129#0#0'#'#0
+'clWhite'#10'ClickColor'#7#6'clBlue'#19'OwnerBackgroundDraw'#8#22'AutoWidthB' +#0#0#0#4'^A7'#138'e>3w'#133#184#196'Qi'#196#229#252'`'#199#235#255'S'#187#223
+'orderSpacing'#2#15#23'AutoHeightBorderSpacing'#2#15#0#0#11'TCheckGroup'#11 +#255'G'#176#212#255'<'#164#200#255'0'#153#189#255'('#144#180#255')'#144#181
+'CheckGroup1'#4'Left'#3#128#0#6'Height'#2'i'#3'Top'#3#143#0#5'Width'#2'd'#8 +#255'4'#156#192#255'W'#181#213#253#135#187#204'w'#0#0'#'#0#0#0#0#7'^?8m_8.it'
+'AutoFill'#9#7'Caption'#6#14'Scroll Buttons'#28'ChildSizing.LeftRightSpacing' +#183#205'rh'#197#226#255'U'#176#205#255'N'#175#206#255'J'#171#205#255'C'#169
+#2#6#28'ChildSizing.TopBottomSpacing'#2#6#29'ChildSizing.EnlargeHorizontal'#7 +#204#255'='#163#199#255'='#160#193#255'@'#161#193#255'I'#164#195#255'Q'#175
+#24'crsHomogenousChildResize'#27'ChildSizing.EnlargeVertical'#7#24'crsHomoge' +#205#255'z'#204#233#130#0#0'#'#0#0#0'#'#0'iH>'#131'_90'#142#133#204#230'Zk'
+'nousChildResize'#28'ChildSizing.ShrinkHorizontal'#7#14'crsScaleChilds'#26'C' +#210#246#255'_'#199#235#255'S'#187#223#255'G'#176#212#255'D'#164#195#255':'
+'hildSizing.ShrinkVertical'#7#14'crsScaleChilds'#18'ChildSizing.Layout'#7#29 +#154#183#255'('#144#180#255')'#144#181#255'4'#156#192#255'N'#182#218#255'}'
+'cclLeftToRightThenTopToBottom'#27'ChildSizing.ControlsPerLine'#2#1#13'Items' +#204#230'x'#0#0'#'#0#0#0#0#6'X>5|`:0'#181'{'#175#193'm^'#187#219#252'^'#193
+'.Strings'#1#6#4'Auto'#6#7'LeftTop'#6#11'RightBottom'#0#7'OnClick'#7#16'Chec' +#227#255'Z'#187#220#255'G'#176#212#255'<'#164#200#255'0'#153#189#255'('#144
+'kGroup1Click'#11'OnItemClick'#7#20'CheckGroup1ItemClick'#8'TabOrder'#2#8#4 +#180#255'3'#149#182#255'B'#162#196#255'T'#177#209#253'~'#192#210#136#0#0'#'#0
+'Data'#10#7#0#0#0#3#0#0#0#3#2#2#0#0#11'TRadioGroup'#11'RadioGroup2'#4'Left'#3 +'Q<6&nKB'#142'L-&kv'#187#210'ok'#210#245#255']'#186#213#255'Q'#175#205#255'R'
+#130#0#6'Height'#2'i'#3'Top'#3#0#1#5'Width'#2'd'#8'AutoFill'#9#7'Caption'#6 +#172#200#255'J'#168#199#255'E'#163#195#255'F'#159#188#255'='#153#184#255'@'
+#17'Tab Button Layout'#28'ChildSizing.LeftRightSpacing'#2#6#28'ChildSizing.T' +#158#187#255'O'#181#217#255'z'#205#235#130#0#0'#'#0'fNI'#130'Y=7pmB7pa'#134
+'opBottomSpacing'#2#6#29'ChildSizing.EnlargeHorizontal'#7#24'crsHomogenousCh' +#150'Dp'#208#242#246'_'#199#235#255'S'#187#223#255'G'#176#212#255'<'#164#200
+'ildResize'#27'ChildSizing.EnlargeVertical'#7#24'crsHomogenousChildResize'#28 +#255'0'#153#189#255'('#144#180#255')'#144#181#255'4'#156#192#255'U'#183#217
+'ChildSizing.ShrinkHorizontal'#7#14'crsScaleChilds'#26'ChildSizing.ShrinkVer' +#250#133#201#225'O'#0#0'#'#0'nUN'#141'pND'#166'h?5'#165#28#14#14#18#134#198
+'tical'#7#14'crsScaleChilds'#18'ChildSizing.Layout'#7#29'cclLeftToRightThenT' +#220'-k'#194#225#153'_'#188#221#184'U'#180#212#210'L'#169#202#232'C'#160#192
+'opToBottom'#27'ChildSizing.ControlsPerLine'#2#1#12'ClientHeight'#2'W'#11'Cl' +#234'>'#156#188#213'B'#158#191#188'P'#168#199#159'y'#185#208';'#0#0'#'#0#0#0
+'ientWidth'#2'`'#9'ItemIndex'#2#0#13'Items.Strings'#1#6#11'blGlyphLeft'#6#13 +'#'#0#0#0#0
+'blGlyphBottom'#6#12'blGlyphRight'#6#10'blGlyphTop'#0#7'OnClick'#7#16'RadioG'
+'roup2Click'#8'TabOrder'#2#9#0#0#0#10'TPopupMenu'#10'PopupMenu1'#4'left'#3
+#222#2#3'top'#3#141#1#0#9'TMenuItem'#9'MenuItem1'#3'Tag'#4#152''#18#0#7'Cap'
+'tion'#6#9'New Item1'#0#0#0#10'TImageList'#10'ImageList1'#4'left'#3#144#2#3
+'top'#3#141#1#6'Bitmap'#10#14#4#0#0'Li'#1#0#0#0#16#0#0#0#16#0#0#0#0#0'#'#0'{'
+'SIfg@4'#148#26#0#0#10'q'#161#162'$:'#159#189#158'1'#159#193#188'.'#159#195
+#211'+'#158#196#234'+'#159#195#236'-'#159#195#214'0'#159#195#191'7'#160#192
+#164'^'#161#173'1'#0#0'#'#0#0#0'#'#0#0#0#0#9'bB:'#188'R2('#164'z'#164#179'U7'
+#162#195#243#24#159#207#255#24#159#207#255#24#159#207#255#24#159#207#255#24
+#159#207#255#24#159#207#255#24#159#207#255#24#159#207#255'.'#159#196#247'{'
+#184#200'i'#0#0'#'#0#0#0#0#6'6"'#27'&M.(t}'#198#223'lk'#204#235#255'I'#175
+#207#255';'#166#201#255'4'#162#197#255'.'#158#195#255'-'#157#194#255'-'#156
+#191#255'/'#155#190#255'6'#158#192#255'P'#178#210#255'y'#204#234#130#0#0'#'#0
+'kRJ|pLE'#137'\9-l'#195#218'Ol'#210#245#254'_'#199#235#255'S'#187#223#255'G'
+#176#212#255'<'#164#200#255'0'#153#189#255'('#144#180#255')'#145#181#255'4'
+#156#192#255'O'#182#218#255#130#205#229'o'#0#0'#'#0'dNF'#128'hH?'#142'U5-~'
+#132#197#217'j['#186#217#252'Y'#190#225#255'Y'#185#219#255'P'#177#211#255'<'
+#164#200#255'0'#153#189#255'1'#147#181#255'9'#153#187#255'@'#164#199#255'P'
+#175#207#253'|'#195#215#135#0#0'#'#0#0#0'#'#0'dF='#150'G,$]{'#196#221'lj'#210
+#246#255'`'#189#217#255'O'#176#205#255'J'#170#200#255'L'#168#196#255'I'#164
+#193#255'='#154#184#255'6'#151#182#255'@'#157#187#255'N'#182#218#255'z'#204
+#233#130#0#0'#'#0#0#0#0#5'bD;'#177'P0('#159't'#157#168'Sl'#205#238#251'_'#199
,#235#255'S'#187#223#255'G'#176#212#255'<'#164#200#255'0'#153#189#255'('#144
+#180#255')'#144#181#255'4'#156#192#255'U'#182#216#253#130#192#205'l'#0#0'#'#0
+#0#0#0#4'pND'#150'lB7'#154'z'#187#206'q]'#184#210#255'P'#178#212#255'I'#179
+#216#255'D'#176#212#255'A'#168#205#255'9'#160#196#255'4'#157#194#255'5'#160
+#198#255'@'#165#198#255'O'#172#200#255'~'#202#228#134#0#0'#'#0#0#0'#'#0',#'
+#26#29'Q2)'#138'p'#177#198'qj'#210#246#255'`'#199#234#255'\'#183#211#255'O'
+#171#199#255'B'#161#192#255';'#155#185#255'9'#149#176#255'8'#146#175#255'6'
+#156#191#255'N'#182#218#255'{'#206#233#129#0#0'#'#0#0#0#0#4'^A7'#138'e>3w'
+#133#184#196'Qi'#196#229#252'`'#199#235#255'S'#187#223#255'G'#176#212#255'<'
+#164#200#255'0'#153#189#255'('#144#180#255')'#144#181#255'4'#156#192#255'W'
+#181#213#253#135#187#204'w'#0#0'#'#0#0#0#0#7'^?8m_8.it'#183#205'rh'#197#226
+#255'U'#176#205#255'N'#175#206#255'J'#171#205#255'C'#169#204#255'='#163#199
+#255'='#160#193#255'@'#161#193#255'I'#164#195#255'Q'#175#205#255'z'#204#233
+#130#0#0'#'#0#0#0'#'#0'iH>'#131'_90'#142#133#204#230'Zk'#210#246#255'_'#199
+#235#255'S'#187#223#255'G'#176#212#255'D'#164#195#255':'#154#183#255'('#144
+#180#255')'#144#181#255'4'#156#192#255'N'#182#218#255'}'#204#230'x'#0#0'#'#0
+#0#0#0#6'X>5|`:0'#181'{'#175#193'm^'#187#219#252'^'#193#227#255'Z'#187#220
+#255'G'#176#212#255'<'#164#200#255'0'#153#189#255'('#144#180#255'3'#149#182
+#255'B'#162#196#255'T'#177#209#253'~'#192#210#136#0#0'#'#0'Q<6&nKB'#142'L-&k'
+'v'#187#210'ok'#210#245#255']'#186#213#255'Q'#175#205#255'R'#172#200#255'J'
+#168#199#255'E'#163#195#255'F'#159#188#255'='#153#184#255'@'#158#187#255'O'
+#181#217#255'z'#205#235#130#0#0'#'#0'fNI'#130'Y=7pmB7pa'#134#150'Dp'#208#242
+#246'_'#199#235#255'S'#187#223#255'G'#176#212#255'<'#164#200#255'0'#153#189
+#255'('#144#180#255')'#144#181#255'4'#156#192#255'U'#183#217#250#133#201#225
+'O'#0#0'#'#0'nUN'#141'pND'#166'h?5'#165#28#14#14#18#134#198#220'-k'#194#225
+#153'_'#188#221#184'U'#180#212#210'L'#169#202#232'C'#160#192#234'>'#156#188
+#213'B'#158#191#188'P'#168#199#159'y'#185#208';'#0#0'#'#0#0#0'#'#0#0#0#0
]); ]);

View File

@ -84,10 +84,14 @@ var
implementation implementation
uses
gradtabstyle;
{ TForm1 } { TForm1 }
procedure TForm1.FormCreate(Sender: TObject); procedure TForm1.FormCreate(Sender: TObject);
begin begin
GradTabControl1.Style :=TGradTabVistaStyle.Create;
GradTabControl1.Align:=alClient; GradTabControl1.Align:=alClient;
GradTabControl1.TabPosition:=tpTop; GradTabControl1.TabPosition:=tpTop;
SpinEdit2.Value:=GradTabControl1.TabHeight; SpinEdit2.Value:=GradTabControl1.TabHeight;

View File

@ -16,7 +16,7 @@
<VersionInfo> <VersionInfo>
<UseVersionInfo Value="True"/> <UseVersionInfo Value="True"/>
<AutoIncrementBuild Value="True"/> <AutoIncrementBuild Value="True"/>
<CurrentBuildNr Value="1108"/> <CurrentBuildNr Value="1135"/>
<ProjectVersion Value="0.0.0.0"/> <ProjectVersion Value="0.0.0.0"/>
</VersionInfo> </VersionInfo>
<PublishOptions> <PublishOptions>

View File

@ -25,7 +25,7 @@
</Other> </Other>
</CompilerOptions> </CompilerOptions>
<Version Minor="1"/> <Version Minor="1"/>
<Files Count="2"> <Files Count="3">
<Item1> <Item1>
<Filename Value="..\src\ugradtabcontrol.pas"/> <Filename Value="..\src\ugradtabcontrol.pas"/>
<HasRegisterProc Value="True"/> <HasRegisterProc Value="True"/>
@ -35,6 +35,10 @@
<Filename Value="..\src\gradtabcontroleditor.pas"/> <Filename Value="..\src\gradtabcontroleditor.pas"/>
<UnitName Value="gradtabcontroleditor"/> <UnitName Value="gradtabcontroleditor"/>
</Item2> </Item2>
<Item3>
<Filename Value="..\src\gradtabstyle.pas"/>
<UnitName Value="gradtabstyle"/>
</Item3>
</Files> </Files>
<Type Value="RunAndDesignTime"/> <Type Value="RunAndDesignTime"/>
<RequiredPkgs Count="4"> <RequiredPkgs Count="4">

View File

@ -8,7 +8,7 @@ unit gradtabcontrol;
interface interface
uses uses
ugradtabcontrol, gradtabcontroleditor, LazarusPackageIntf; ugradtabcontrol, gradtabcontroleditor, gradtabstyle, LazarusPackageIntf;
implementation implementation

View File

@ -0,0 +1,322 @@
unit gradtabstyle;
{$mode objfpc}{$H+}
{-------------------------------------
Style-Class for TGradTabControl
--------------------------------------}
interface
uses
Classes, SysUtils, Controls, Graphics, Buttons, ExtCtrls, ugradbtn;
type
TStylePaintEvent = procedure(Sender: TCustomControl; AIndex: Integer;
Button: TGradButton; TargetCanvas: TCanvas; R: TRect;
BState : TButtonState) of object;
{ TGradTabStyleBase }
TStyleBaseOptions = set of (sbTabButton, sbLeftRightButton, sbBorderButton, sbCloseButton);
TGradTabStyleBase = class
private
function GetHasCloseButtonPaint: Boolean;
function GetHasTabButtonPaint: Boolean;
function GetHasLeftRightButtonPaint: Boolean;
function GetHasBorderButtonPaint: Boolean;
protected
FTheTabControl: TCustomControl;
FOptions : TStyleBaseOptions;
public
constructor Create; virtual;
procedure TabControl(Sender: TCustomControl;
TargetCanvas: TCanvas); virtual; abstract;
procedure TabButton(Sender: TCustomControl; AIndex: Integer;
Button: TGradButton; TargetCanvas: TCanvas; R: TRect; BState : TButtonState); virtual; abstract;
procedure TabCloseButton(Sender: TCustomControl; AIndex: Integer;
Button: TGradButton; TargetCanvas: TCanvas; R: TRect; BState : TButtonState); virtual; abstract;
procedure TabButtonBorder(Sender: TCustomControl; AIndex: Integer;
Button: TGradButton; TargetCanvas: TCanvas; R: TRect; BState : TButtonState); virtual; abstract;
procedure TabLeftRightButton(Sender: TGradButton; TargetCanvas: TCanvas; R: TRect; BState : TButtonState); virtual; abstract;
procedure PrepareButton(Button: TGradButton); virtual;
property TheTabControl : TCustomControl read FTheTabControl write FTheTabControl;
property HasTabButtonPaint : Boolean read GetHasTabButtonPaint;
property HasLeftRightButtonPaint : Boolean read GetHasLeftRightButtonPaint;
property HasBorderButtonPaint : Boolean read GetHasBorderButtonPaint;
property HasCloseButtonPaint : Boolean read GetHasCloseButtonPaint;
end;
{ TGradTabStandardStyle }
TGradTabStandardStyle = class(TGradTabStyleBase)
public
procedure TabControl(Sender: TCustomControl; TargetCanvas: TCanvas);
override;
end;
{ TGradTabVistaStyle }
TButtonVistaStyle = record
BorderColor : TColor;
InnerBorderColor : TColor;
TopStartColor : TColor;
TopStopColor : TColor;
BottomStartColor : TColor;
BottomStopColor : TColor;
end;
TGradTabVistaStyle = class(TGradTabStyleBase)
private
Normal : TButtonVistaStyle;
Hover : TButtonVistaStyle;
ActiveButton : TButtonVistaStyle;
public
constructor Create; override;
procedure TabControl(Sender: TCustomControl; TargetCanvas: TCanvas);
override;
procedure TabButton(Sender: TCustomControl; AIndex: Integer;
Button: TGradButton; TargetCanvas: TCanvas; R: TRect; BState : TButtonState); override;
procedure TabCloseButton(Sender: TCustomControl; AIndex: Integer;
Button: TGradButton; TargetCanvas: TCanvas; R: TRect; BState: TButtonState); override;
procedure TabButtonBorder(Sender: TCustomControl; AIndex: Integer;
Button: TGradButton; TargetCanvas: TCanvas; R: TRect; BState : TButtonState); override;
procedure PrepareButton(Button: TGradButton); override;
end;
implementation
uses
ugradtabcontrol, LCLProc;
{ TGradTabStyleBase }
function TGradTabStyleBase.GetHasCloseButtonPaint: Boolean;
begin
Result := sbCloseButton in FOptions;
end;
function TGradTabStyleBase.GetHasTabButtonPaint: Boolean;
begin
Result := sbTabButton in FOptions;
end;
function TGradTabStyleBase.GetHasLeftRightButtonPaint: Boolean;
begin
Result := sbLeftRightButton in FOptions;
end;
function TGradTabStyleBase.GetHasBorderButtonPaint: Boolean;
begin
Result := sbBorderButton in FOptions;
end;
constructor TGradTabStyleBase.Create;
begin
FOptions:= [];
end;
procedure TGradTabStyleBase.PrepareButton(Button: TGradButton);
begin
// nothing
end;
{ TGradTabStandardStyle }
procedure TGradTabStandardStyle.TabControl(Sender: TCustomControl;
TargetCanvas: TCanvas);
var
AClientRect : TRect;
begin
TargetCanvas.Brush.Color:=Sender.Color;
TargetCanvas.FillRect(0,0,Sender.Width, Sender.Height);
TargetCanvas.Pen.Color:=clBlack;
AClientRect := (Sender as TGradTabControl).GetClientRect;
TargetCanvas.Rectangle(AClientRect.Left-2, AClientRect.Top-2,
AClientRect.Right+2, AClientRect.Bottom+2);
end;
{ TGradTabVistaStyle }
constructor TGradTabVistaStyle.Create;
begin
inherited Create;
FOptions:=[sbTabButton, sbBorderButton, sbCloseButton];
with Normal do
begin
BorderColor:=TColor($8b8c90);
InnerBorderColor:= TColor($fbfcff);
TopStartColor := TColor($f2f2f2);
TopStopColor := TColor($ebebeb);
BottomStartColor := TColor($dddddb);
BottomStopColor := TColor($cfcfcf);
end;
with Hover do
begin
BorderColor:=RGBToColor(85, 121, 145);
InnerBorderColor:= RGBToColor(224, 255, 255);
TopStartColor := RGBToColor(233, 246, 254);
TopStopColor := RGBToColor(219, 238, 252);
BottomStartColor := RGBToColor(190, 231, 253);
BottomStopColor := RGBToColor(167, 217, 244);
end;
with ActiveButton do
begin
BorderColor:=TColor($8b8c91);
InnerBorderColor:= TColor($FFFFFF);
TopStartColor := TColor($FFFFFF);
TopStopColor := TColor($FFFFFF);
BottomStartColor := TColor($FFFFFF);
BottomStopColor := TColor($FFFFFF);
end;
end;
procedure TGradTabVistaStyle.TabControl(Sender: TCustomControl;
TargetCanvas: TCanvas);
var
AClientRect : TRect;
begin
TargetCanvas.Brush.Color:=clWhite;
TargetCanvas.FillRect(0,0,Sender.Width, Sender.Height);
TargetCanvas.Pen.Color:=Normal.BorderColor;
AClientRect := (Sender as TGradTabControl).GetClientRect;
TargetCanvas.Rectangle(AClientRect.Left-2, AClientRect.Top-2,
AClientRect.Right+2, AClientRect.Bottom+2);
end;
procedure TGradTabVistaStyle.TabButton(Sender: TCustomControl; AIndex: Integer;
Button: TGradButton; TargetCanvas: TCanvas; R: TRect; BState : TButtonState);
var
ColorSet: TButtonVistaStyle;
UpperRect, LowerRect : TRect;
FGradTabControl : TGradTabControl;
FGradientDirection : TGradientDirection;
begin
FGradTabControl := Sender as TGradTabControl;
if AIndex = FGradTabControl.PageIndex then
BState := bsDown;
case BState of
bsDown: ColorSet := ActiveButton;
bsHot: ColorSet := Hover;
else ColorSet := Normal;
end;
UpperRect := R;
UpperRect.Bottom:= UpperRect.Bottom div 2;
LowerRect := R;
LowerRect.Top := UpperRect.Bottom;
case FGradTabControl.TabPosition of
tpTop, tpBottom: FGradientDirection := gdVertical;
tpLeft, tpRight:
if FGradTabControl.LongTabs then
FGradientDirection := gdVertical
else
FGradientDirection := gdHorizontal;
end;
with TargetCanvas do
begin
GradientFill(UpperRect, ColorSet.TopStartColor,
ColorSet.TopStopColor, FGradientDirection);
GradientFill(LowerRect, ColorSet.BottomStartColor,
ColorSet.BottomStopColor, FGradientDirection);
end;
end;
procedure TGradTabVistaStyle.TabCloseButton(Sender: TCustomControl;
AIndex: Integer; Button: TGradButton; TargetCanvas: TCanvas; R: TRect;
BState: TButtonState);
begin
TabButton(Sender, AIndex, Button, TargetCanvas, R, BState);
end;
procedure TGradTabVistaStyle.TabButtonBorder(Sender: TCustomControl; AIndex: Integer;
Button: TGradButton; TargetCanvas: TCanvas; R: TRect; BState : TButtonState);
var
ColorSet: TButtonVistaStyle;
begin
//DebugLn('Border R: ',DbgS(R));
case BState of
bsDown: ColorSet := ActiveButton;
bsHot: ColorSet := Hover;
else ColorSet := Normal;
end;
with Button do
begin
//Top
if (bsTopLine in BorderSides) then
begin
TargetCanvas.Pen.Color:=ColorSet.BorderColor;
TargetCanvas.Line(R.Left,0,R.Right,0);
TargetCanvas.Pen.Color:=ColorSet.InnerBorderColor;
TargetCanvas.Line(R.Left,1,R.Right,1);
end;
//Left
if (bsLeftLine in BorderSides) then
begin
TargetCanvas.Pen.Color:=ColorSet.BorderColor;
TargetCanvas.Line(0,R.Top,0,R.Bottom);
TargetCanvas.Pen.Color:=ColorSet.InnerBorderColor;
TargetCanvas.Line(1,R.Top,1,R.Bottom);
end;
//Right
if (bsRightLine in BorderSides) then
begin
TargetCanvas.Pen.Color:=ColorSet.BorderColor;
TargetCanvas.Line(Width-1,R.Top,Width-1,R.Bottom);
TargetCanvas.Pen.Color:=ColorSet.InnerBorderColor;
TargetCanvas.Line(Width-2,R.Top,Width-2,R.Bottom);
end;
//Bottom
if (bsBottomLine in BorderSides) then
begin
TargetCanvas.Pen.Color:=ColorSet.BorderColor;
TargetCanvas.Line(R.Left,Height-1,R.Right,Height-1);
TargetCanvas.Pen.Color:=ColorSet.InnerBorderColor;
TargetCanvas.Line(R.Left,Height-2,R.Right,Height-2);
end;
//TopLeft
if (bsTopLine in BorderSides) AND (bsLeftLine in BorderSides) then
TargetCanvas.Pixels[1,1]:=ColorSet.BorderColor;
//TopRight
if (bsTopLine in BorderSides) AND (bsRightLine in BorderSides) then
TargetCanvas.Pixels[Width-2,1] := ColorSet.BorderColor;
//BottomLeft
if (bsBottomLine in BorderSides) AND (bsLeftLine in BorderSides) then
TargetCanvas.Pixels[1, Height-2]:=ColorSet.BorderColor;
//BottomRight
if (bsBottomLine in BorderSides) AND (bsRightLine in BorderSides) then
TargetCanvas.Pixels[Width-2,Height-2]:=ColorSet.BorderColor;
end;
end;
procedure TGradTabVistaStyle.PrepareButton(Button: TGradButton);
begin
Button.Font.Color:=clBlack;
end;
end.

File diff suppressed because it is too large Load Diff