fixed glyph display issue and Luiz Americo Pereira Camara

git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@534 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
eugene1
2008-08-25 13:07:22 +00:00
parent 7296df02a0
commit c469f3a322
12 changed files with 521 additions and 1457 deletions

View File

@ -1,7 +1,7 @@
object Form1: TForm1 object Form1: TForm1
Left = 317 Left = 292
Height = 440 Height = 440
Top = 126 Top = 151
Width = 575 Width = 575
ActiveControl = TrackBar1 ActiveControl = TrackBar1
BorderIcons = [biSystemMenu, biMinimize] BorderIcons = [biSystemMenu, biMinimize]
@ -312,8 +312,6 @@ object Form1: TForm1
Width = 168 Width = 168
Caption = 'Sample Text' Caption = 'Sample Text'
Font.Height = -15 Font.Height = -15
Font.Style = [fsItalic]
OnClick = bClick
TabOrder = 9 TabOrder = 9
TabStop = True TabStop = True
NormalBlend = 0.5 NormalBlend = 0.5
@ -327,7 +325,7 @@ object Form1: TForm1
ShowFocusBorder = True ShowFocusBorder = True
Glyph.Data = { Glyph.Data = {
3A000000424D3A00000000000000360000002800000001000000010000000100 3A000000424D3A00000000000000360000002800000001000000010000000100
1800000000000400000064000000640000000000000000000000E46CDC00 180000000000040000006400000064000000000000000000000054B60600
} }
GlyphBackgroundColor = clWhite GlyphBackgroundColor = clWhite
ClickColor = clBlue ClickColor = clBlue
@ -352,7 +350,7 @@ object Form1: TForm1
ShowFocusBorder = True ShowFocusBorder = True
Glyph.Data = { Glyph.Data = {
3A000000424D3A00000000000000360000002800000001000000010000000100 3A000000424D3A00000000000000360000002800000001000000010000000100
1800000000000400000064000000640000000000000000000000B46CDC00 18000000000004000000640000006400000000000000000000008C5A2500
} }
GlyphBackgroundColor = clWhite GlyphBackgroundColor = clWhite
ClickColor = clBlue ClickColor = clBlue
@ -377,7 +375,7 @@ object Form1: TForm1
ShowFocusBorder = True ShowFocusBorder = True
Glyph.Data = { Glyph.Data = {
3A000000424D3A00000000000000360000002800000001000000010000000100 3A000000424D3A00000000000000360000002800000001000000010000000100
1800000000000400000064000000640000000000000000000000BC330700 180000000000040000006400000064000000000000000000000044B32700
} }
GlyphBackgroundColor = clWhite GlyphBackgroundColor = clWhite
ClickColor = clBlue ClickColor = clBlue
@ -402,7 +400,7 @@ object Form1: TForm1
ShowFocusBorder = True ShowFocusBorder = True
Glyph.Data = { Glyph.Data = {
3A000000424D3A00000000000000360000002800000001000000010000000100 3A000000424D3A00000000000000360000002800000001000000010000000100
1800000000000400000064000000640000000000000000000000FC8BE500 18000000000004000000640000006400000000000000000000003C842500
} }
GlyphBackgroundColor = clWhite GlyphBackgroundColor = clWhite
ClickColor = clBlue ClickColor = clBlue
@ -427,7 +425,7 @@ object Form1: TForm1
ShowFocusBorder = True ShowFocusBorder = True
Glyph.Data = { Glyph.Data = {
3A000000424D3A00000000000000360000002800000001000000010000000100 3A000000424D3A00000000000000360000002800000001000000010000000100
1800000000000400000064000000640000000000000000000000BC03E200 18000000000004000000640000006400000000000000000000006C3A2500
} }
GlyphBackgroundColor = clWhite GlyphBackgroundColor = clWhite
ClickColor = clBlue ClickColor = clBlue
@ -452,7 +450,7 @@ object Form1: TForm1
ShowFocusBorder = True ShowFocusBorder = True
Glyph.Data = { Glyph.Data = {
3A000000424D3A00000000000000360000002800000001000000010000000100 3A000000424D3A00000000000000360000002800000001000000010000000100
1800000000000400000064000000640000000000000000000000646BDC00 1800000000000400000064000000640000000000000000000000D4D42700
} }
GlyphBackgroundColor = clWhite GlyphBackgroundColor = clWhite
ClickColor = clBlue ClickColor = clBlue
@ -477,7 +475,7 @@ object Form1: TForm1
ShowFocusBorder = True ShowFocusBorder = True
Glyph.Data = { Glyph.Data = {
3A000000424D3A00000000000000360000002800000001000000010000000100 3A000000424D3A00000000000000360000002800000001000000010000000100
18000000000004000000640000006400000000000000000000002CFDDE00 18000000000004000000640000006400000000000000000000003C602500
} }
GlyphBackgroundColor = clWhite GlyphBackgroundColor = clWhite
ClickColor = clBlue ClickColor = clBlue
@ -502,7 +500,7 @@ object Form1: TForm1
ShowFocusBorder = True ShowFocusBorder = True
Glyph.Data = { Glyph.Data = {
3A000000424D3A00000000000000360000002800000001000000010000000100 3A000000424D3A00000000000000360000002800000001000000010000000100
18000000000004000000640000006400000000000000000000005454DC00 1800000000000400000064000000640000000000000000000000BC5B2500
} }
GlyphBackgroundColor = clWhite GlyphBackgroundColor = clWhite
ClickColor = clBlue ClickColor = clBlue
@ -545,7 +543,7 @@ object Form1: TForm1
ShowFocusBorder = True ShowFocusBorder = True
Glyph.Data = { Glyph.Data = {
3A000000424D3A00000000000000360000002800000001000000010000000100 3A000000424D3A00000000000000360000002800000001000000010000000100
1800000000000400000064000000640000000000000000000000ACF3E100 1800000000000400000064000000640000000000000000000000F4F82700
} }
GlyphBackgroundColor = clWhite GlyphBackgroundColor = clWhite
ClickColor = clBlue ClickColor = clBlue
@ -561,16 +559,12 @@ object Form1: TForm1
end end
object ColorDialog1: TColorDialog object ColorDialog1: TColorDialog
Color = 11954481 Color = 11954481
left = 48
top = 176
end
object ImageList1: TImageList
left = 8 left = 8
top = 176 top = 176
end end
object OpenPictureDialog1: TOpenPictureDialog object OpenPictureDialog1: TOpenPictureDialog
Filter = 'Graphic (*.tga;*.jpg;*.ico;*.ppm;*.pgm;*.pbm;*.png;*.xpm;*.bmp)|*.tga;*.jpg;*.ico;*.ppm;*.pgm;*.pbm;*.png;*.xpm;*.bmp|TGA Image File (*.tga)|*.tga|Jpint Picture Expert Group (*.jpg)|*.jpg|Symbol (*.ico)|*.ico|Portable Pixmap (*.ppm)|*.ppm|Portable Graymap' Filter = 'Graphic (*.tga;*.jpg;*.ico;*.ppm;*.pgm;*.pbm;*.png;*.xpm;*.bmp)|*.tga;*.jpg;*.ico;*.ppm;*.pgm;*.pbm;*.png;*.xpm;*.bmp|TGA Image File (*.tga)|*.tga|Jpint Picture Expert Group (*.jpg)|*.jpg|Symbol (*.ico)|*.ico|Portable Pixmap (*.ppm)|*.ppm|Portable Graymap'
left = 88 left = 48
top = 176 top = 176
end end
end end

View File

@ -1,15 +1,13 @@
{ This is an automatically generated lazarus resource file }
LazarusResources.Add('TForm1','FORMDATA',[ LazarusResources.Add('TForm1','FORMDATA',[
'TPF0'#6'TForm1'#5'Form1'#4'Left'#3'='#1#6'Height'#3#184#1#3'Top'#2'~'#5'Widt' 'TPF0'#6'TForm1'#5'Form1'#4'Left'#3'$'#1#6'Height'#3#184#1#3'Top'#3#151#0#5'W'
+'h'#3'?'#2#13'ActiveControl'#7#9'TrackBar1'#11'BorderIcons'#11#12'biSystemMe' +'idth'#3'?'#2#13'ActiveControl'#7#9'TrackBar1'#11'BorderIcons'#11#12'biSyste'
+'nu'#10'biMinimize'#0#11'BorderStyle'#7#8'bsSingle'#7'Caption'#6#16'TGradBut' +'mMenu'#10'biMinimize'#0#11'BorderStyle'#7#8'bsSingle'#7'Caption'#6#16'TGrad'
+'ton-Demo'#12'ClientHeight'#3#184#1#11'ClientWidth'#3'?'#2#8'OnCreate'#7#10 +'Button-Demo'#12'ClientHeight'#3#184#1#11'ClientWidth'#3'?'#2#8'OnCreate'#7
+'FormCreate'#10'LCLVersion'#6#6'0.9.25'#0#6'TLabel'#6'Label1'#4'Left'#2#8#6 +#10'FormCreate'#10'LCLVersion'#6#6'0.9.25'#0#6'TLabel'#6'Label1'#4'Left'#2#8
+'Height'#2#14#3'Top'#2'K'#5'Width'#2'<'#7'Caption'#6#11'NormalBlend'#11'Pare' +#6'Height'#2#14#3'Top'#2'K'#5'Width'#2'<'#7'Caption'#6#11'NormalBlend'#11'Pa'
+'ntColor'#8#0#0#6'TLabel'#6'Label2'#4'Left'#2#8#6'Height'#2#14#3'Top'#3#131#0 +'rentColor'#8#0#0#6'TLabel'#6'Label2'#4'Left'#2#8#6'Height'#2#14#3'Top'#3#131
+#5'Width'#2'3'#7'Caption'#6#9'OverBlend'#11'ParentColor'#8#0#0#6'TLabel'#6'L' +#0#5'Width'#2'3'#7'Caption'#6#9'OverBlend'#11'ParentColor'#8#0#0#6'TLabel'#6
+'abel3'#4'Left'#2'X'#6'Height'#2#14#3'Top'#2'K'#5'Width'#2#1#11'ParentColor' +'Label3'#4'Left'#2'X'#6'Height'#2#14#3'Top'#2'K'#5'Width'#2#1#11'ParentColor'
+#8#0#0#6'TLabel'#6'Label4'#4'Left'#2'X'#6'Height'#2#14#3'Top'#3#131#0#5'Widt' +#8#0#0#6'TLabel'#6'Label4'#4'Left'#2'X'#6'Height'#2#14#3'Top'#3#131#0#5'Widt'
+'h'#2#1#11'ParentColor'#8#0#0#6'TLabel'#6'Label5'#4'Left'#2'%'#6'Height'#2#14 +'h'#2#1#11'ParentColor'#8#0#0#6'TLabel'#6'Label5'#4'Left'#2'%'#6'Height'#2#14
+#3'Top'#2#16#5'Width'#2'4'#7'Caption'#6#10'Base Color'#11'ParentColor'#8#0#0 +#3'Top'#2#16#5'Width'#2'4'#7'Caption'#6#10'Base Color'#11'ParentColor'#8#0#0
@ -96,109 +94,107 @@ LazarusResources.Add('TForm1','FORMDATA',[
+'tLabel.Caption'#6#14'Button Caption'#21'EditLabel.ParentColor'#8#11'ParentC' +'tLabel.Caption'#6#14'Button Caption'#21'EditLabel.ParentColor'#8#11'ParentC'
+'olor'#8#8'TabOrder'#2#7#4'Text'#6#11'Sample Text'#7'OnKeyUp'#7#17'LabeledEd' +'olor'#8#8'TabOrder'#2#7#4'Text'#6#11'Sample Text'#7'OnKeyUp'#7#17'LabeledEd'
+'it1KeyUp'#0#0#11'TGradButton'#1'b'#4'Left'#3#152#0#6'Height'#2'`'#3'Top'#3 +'it1KeyUp'#0#0#11'TGradButton'#1'b'#4'Left'#3#152#0#6'Height'#2'`'#3'Top'#3
+#200#0#5'Width'#3#168#0#7'Caption'#6#11'Sample Text'#11'Font.Height'#2#241#10 +#200#0#5'Width'#3#168#0#7'Caption'#6#11'Sample Text'#11'Font.Height'#2#241#8
+'Font.Style'#11#8'fsItalic'#0#7'OnClick'#7#6'bClick'#8'TabOrder'#2#9#7'TabSt' +'TabOrder'#2#9#7'TabStop'#9#11'NormalBlend'#5#0#0#0#0#0#0#0#128#254'?'#9'Ove'
+'op'#9#11'NormalBlend'#5#0#0#0#0#0#0#0#128#254'?'#9'OverBlend'#5'5^'#186'I' +'rBlend'#5'5^'#186'I'#12#2'+'#167#254'?'#9'BaseColor'#7#6'clBlue'#5'Color'#7
+#12#2'+'#167#254'?'#9'BaseColor'#7#6'clBlue'#5'Color'#7#6'clBlue'#16'NormalB' +#6'clBlue'#16'NormalBlendColor'#7#7'clWhite'#14'OverBlendColor'#7#8'clSilver'
+'lendColor'#7#7'clWhite'#14'OverBlendColor'#7#8'clSilver'#15'BackgroundColor' +#15'BackgroundColor'#7#9'clBtnFace'#11'BorderSides'#11#9'bsTopLine'#12'bsBot'
+#7#9'clBtnFace'#11'BorderSides'#11#9'bsTopLine'#12'bsBottomLine'#10'bsLeftLi' +'tomLine'#10'bsLeftLine'#11'bsRightLine'#0#15'ShowFocusBorder'#9#10'Glyph.Da'
+'ne'#11'bsRightLine'#0#15'ShowFocusBorder'#9#10'Glyph.Data'#10'>'#0#0#0':'#0 +'ta'#10'>'#0#0#0':'#0#0#0'BM:'#0#0#0#0#0#0#0'6'#0#0#0'('#0#0#0#1#0#0#0#1#0#0
+#0#0'BM:'#0#0#0#0#0#0#0'6'#0#0#0'('#0#0#0#1#0#0#0#1#0#0#0#1#0#24#0#0#0#0#0#4 +#0#1#0#24#0#0#0#0#0#4#0#0#0'd'#0#0#0'd'#0#0#0#0#0#0#0#0#0#0#0'T'#182#6#0#20
+#0#0#0'd'#0#0#0'd'#0#0#0#0#0#0#0#0#0#0#0#228'l'#220#0#20'GlyphBackgroundColo' +'GlyphBackgroundColor'#7#7'clWhite'#10'ClickColor'#7#6'clBlue'#0#0#11'TGradB'
+'r'#7#7'clWhite'#10'ClickColor'#7#6'clBlue'#0#0#11'TGradButton'#15'BaseColor' +'utton'#15'BaseColorButton'#4'Left'#2#8#6'Height'#2#25#3'Top'#2'#'#5'Width'#2
+'Button'#4'Left'#2#8#6'Height'#2#25#3'Top'#2'#'#5'Width'#2'h'#7'Caption'#6#15 +'h'#7'Caption'#6#15'BaseColorButton'#7'OnClick'#7#14'BaseColorClick'#8'TabOr'
+'BaseColorButton'#7'OnClick'#7#14'BaseColorClick'#8'TabOrder'#2#10#7'TabStop' +'der'#2#10#7'TabStop'#9#11'NormalBlend'#5#0#0#0#0#0#0#0#128#254'?'#9'OverBle'
+#9#11'NormalBlend'#5#0#0#0#0#0#0#0#128#254'?'#9'OverBlend'#5'5^'#186'I'#12#2 +'nd'#5'5^'#186'I'#12#2'+'#167#254'?'#9'BaseColor'#7#6'clBlue'#5'Color'#7#6'c'
+'+'#167#254'?'#9'BaseColor'#7#6'clBlue'#5'Color'#7#6'clBlue'#16'NormalBlendC' +'lBlue'#16'NormalBlendColor'#7#7'clWhite'#14'OverBlendColor'#7#8'clSilver'#15
+'olor'#7#7'clWhite'#14'OverBlendColor'#7#8'clSilver'#15'BackgroundColor'#7#9 +'BackgroundColor'#7#9'clBtnFace'#11'BorderSides'#11#9'bsTopLine'#12'bsBottom'
+'clBtnFace'#11'BorderSides'#11#9'bsTopLine'#12'bsBottomLine'#10'bsLeftLine' +'Line'#10'bsLeftLine'#11'bsRightLine'#0#15'ShowFocusBorder'#9#10'Glyph.Data'
+#11'bsRightLine'#0#15'ShowFocusBorder'#9#10'Glyph.Data'#10'>'#0#0#0':'#0#0#0 +#10'>'#0#0#0':'#0#0#0'BM:'#0#0#0#0#0#0#0'6'#0#0#0'('#0#0#0#1#0#0#0#1#0#0#0#1
+'BM:'#0#0#0#0#0#0#0'6'#0#0#0'('#0#0#0#1#0#0#0#1#0#0#0#1#0#24#0#0#0#0#0#4#0#0 +#0#24#0#0#0#0#0#4#0#0#0'd'#0#0#0'd'#0#0#0#0#0#0#0#0#0#0#0#140'Z%'#0#20'Glyph'
+#0'd'#0#0#0'd'#0#0#0#0#0#0#0#0#0#0#0#180'l'#220#0#20'GlyphBackgroundColor'#7 +'BackgroundColor'#7#7'clWhite'#10'ClickColor'#7#6'clBlue'#0#0#11'TGradButton'
+#7'clWhite'#10'ClickColor'#7#6'clBlue'#0#0#11'TGradButton'#22'NormalBlendCol' +#22'NormalBlendColorButton'#4'Left'#2'x'#6'Height'#2#25#3'Top'#2'#'#5'Width'
+'orButton'#4'Left'#2'x'#6'Height'#2#25#3'Top'#2'#'#5'Width'#2'h'#7'Caption'#6 +#2'h'#7'Caption'#6#22'NormalBlendColorButton'#7'OnClick'#7#16'NormalBlendCli'
+#22'NormalBlendColorButton'#7'OnClick'#7#16'NormalBlendClick'#8'TabOrder'#2 +'ck'#8'TabOrder'#2#11#7'TabStop'#9#11'NormalBlend'#5#0#0#0#0#0#0#0#128#254'?'
+#11#7'TabStop'#9#11'NormalBlend'#5#0#0#0#0#0#0#0#128#254'?'#9'OverBlend'#5'5' +#9'OverBlend'#5'5^'#186'I'#12#2'+'#167#254'?'#9'BaseColor'#7#6'clBlue'#5'Col'
+'^'#186'I'#12#2'+'#167#254'?'#9'BaseColor'#7#6'clBlue'#5'Color'#7#6'clBlue' +'or'#7#6'clBlue'#16'NormalBlendColor'#7#7'clWhite'#14'OverBlendColor'#7#8'cl'
+#16'NormalBlendColor'#7#7'clWhite'#14'OverBlendColor'#7#8'clSilver'#15'Backg' +'Silver'#15'BackgroundColor'#7#9'clBtnFace'#11'BorderSides'#11#9'bsTopLine'
+'roundColor'#7#9'clBtnFace'#11'BorderSides'#11#9'bsTopLine'#12'bsBottomLine' +#12'bsBottomLine'#10'bsLeftLine'#11'bsRightLine'#0#15'ShowFocusBorder'#9#10
+#10'bsLeftLine'#11'bsRightLine'#0#15'ShowFocusBorder'#9#10'Glyph.Data'#10'>' +'Glyph.Data'#10'>'#0#0#0':'#0#0#0'BM:'#0#0#0#0#0#0#0'6'#0#0#0'('#0#0#0#1#0#0
+#0#0#0':'#0#0#0'BM:'#0#0#0#0#0#0#0'6'#0#0#0'('#0#0#0#1#0#0#0#1#0#0#0#1#0#24#0 +#0#1#0#0#0#1#0#24#0#0#0#0#0#4#0#0#0'd'#0#0#0'd'#0#0#0#0#0#0#0#0#0#0#0'D'#179
+#0#0#0#0#4#0#0#0'd'#0#0#0'd'#0#0#0#0#0#0#0#0#0#0#0#188'3'#7#0#20'GlyphBackgr' +''''#0#20'GlyphBackgroundColor'#7#7'clWhite'#10'ClickColor'#7#6'clBlue'#0#0
+'oundColor'#7#7'clWhite'#10'ClickColor'#7#6'clBlue'#0#0#11'TGradButton'#15'O' +#11'TGradButton'#15'OverBlendButton'#4'Left'#3#232#0#6'Height'#2#25#3'Top'#2
+'verBlendButton'#4'Left'#3#232#0#6'Height'#2#25#3'Top'#2'#'#5'Width'#2'h'#7 +'#'#5'Width'#2'h'#7'Caption'#6#15'OverBlendButton'#7'OnClick'#7#14'OverBlend'
+'Caption'#6#15'OverBlendButton'#7'OnClick'#7#14'OverBlendClick'#8'TabOrder'#2 +'Click'#8'TabOrder'#2#12#7'TabStop'#9#11'NormalBlend'#5#0#0#0#0#0#0#0#128#254
+#12#7'TabStop'#9#11'NormalBlend'#5#0#0#0#0#0#0#0#128#254'?'#9'OverBlend'#5'5' +'?'#9'OverBlend'#5'5^'#186'I'#12#2'+'#167#254'?'#9'BaseColor'#7#6'clBlue'#5
,'^'#186'I'#12#2'+'#167#254'?'#9'BaseColor'#7#6'clBlue'#5'Color'#7#6'clBlue' ,'Color'#7#6'clBlue'#16'NormalBlendColor'#7#7'clWhite'#14'OverBlendColor'#7#8
+#16'NormalBlendColor'#7#7'clWhite'#14'OverBlendColor'#7#8'clSilver'#15'Backg' +'clSilver'#15'BackgroundColor'#7#9'clBtnFace'#11'BorderSides'#11#9'bsTopLine'
+'roundColor'#7#9'clBtnFace'#11'BorderSides'#11#9'bsTopLine'#12'bsBottomLine' +#12'bsBottomLine'#10'bsLeftLine'#11'bsRightLine'#0#15'ShowFocusBorder'#9#10
+#10'bsLeftLine'#11'bsRightLine'#0#15'ShowFocusBorder'#9#10'Glyph.Data'#10'>' +'Glyph.Data'#10'>'#0#0#0':'#0#0#0'BM:'#0#0#0#0#0#0#0'6'#0#0#0'('#0#0#0#1#0#0
+#0#0#0':'#0#0#0'BM:'#0#0#0#0#0#0#0'6'#0#0#0'('#0#0#0#1#0#0#0#1#0#0#0#1#0#24#0 +#0#1#0#0#0#1#0#24#0#0#0#0#0#4#0#0#0'd'#0#0#0'd'#0#0#0#0#0#0#0#0#0#0#0'<'#132
+#0#0#0#0#4#0#0#0'd'#0#0#0'd'#0#0#0#0#0#0#0#0#0#0#0#252#139#229#0#20'GlyphBac' +'%'#0#20'GlyphBackgroundColor'#7#7'clWhite'#10'ClickColor'#7#6'clBlue'#0#0#11
+'kgroundColor'#7#7'clWhite'#10'ClickColor'#7#6'clBlue'#0#0#11'TGradButton'#11 +'TGradButton'#11'GradButton4'#4'Left'#3#196#1#6'Height'#2#25#3'Top'#3#149#0#5
+'GradButton4'#4'Left'#3#196#1#6'Height'#2#25#3'Top'#3#149#0#5'Width'#2'h'#7 +'Width'#2'h'#7'Caption'#6#10'Load Glyph'#7'OnClick'#7#16'GradButton4Click'#8
+'Caption'#6#10'Load Glyph'#7'OnClick'#7#16'GradButton4Click'#8'TabOrder'#2#13 +'TabOrder'#2#13#7'TabStop'#9#11'NormalBlend'#5#0#0#0#0#0#0#0#128#254'?'#9'Ov'
+'erBlend'#5'5^'#186'I'#12#2'+'#167#254'?'#9'BaseColor'#7#6'clBlue'#5'Color'#7
+#6'clBlue'#16'NormalBlendColor'#7#7'clWhite'#14'OverBlendColor'#7#8'clSilver'
+#15'BackgroundColor'#7#9'clBtnFace'#11'BorderSides'#11#9'bsTopLine'#12'bsBot'
+'tomLine'#10'bsLeftLine'#11'bsRightLine'#0#15'ShowFocusBorder'#9#10'Glyph.Da'
+'ta'#10'>'#0#0#0':'#0#0#0'BM:'#0#0#0#0#0#0#0'6'#0#0#0'('#0#0#0#1#0#0#0#1#0#0
+#0#1#0#24#0#0#0#0#0#4#0#0#0'd'#0#0#0'd'#0#0#0#0#0#0#0#0#0#0#0'l:%'#0#20'Glyp'
+'hBackgroundColor'#7#7'clWhite'#10'ClickColor'#7#6'clBlue'#0#0#11'TGradButto'
+'n'#26'GlyphBackgroundColorButton'#4'Left'#3#196#1#6'Height'#2#25#3'Top'#3
+#200#0#5'Width'#2'h'#7'Caption'#6#26'GlyphBackgroundColorButton'#7'OnClick'#7
+#31'GlyphBackgroundColorButtonClick'#8'TabOrder'#2#14#7'TabStop'#9#11'Normal'
+'Blend'#5#0#0#0#0#0#0#0#128#254'?'#9'OverBlend'#5'5^'#186'I'#12#2'+'#167#254
+'?'#9'BaseColor'#7#6'clBlue'#5'Color'#7#6'clBlue'#16'NormalBlendColor'#7#7'c'
+'lWhite'#14'OverBlendColor'#7#8'clSilver'#15'BackgroundColor'#7#9'clBtnFace'
+#11'BorderSides'#11#9'bsTopLine'#12'bsBottomLine'#10'bsLeftLine'#11'bsRightL'
+'ine'#0#15'ShowFocusBorder'#9#10'Glyph.Data'#10'>'#0#0#0':'#0#0#0'BM:'#0#0#0
+#0#0#0#0'6'#0#0#0'('#0#0#0#1#0#0#0#1#0#0#0#1#0#24#0#0#0#0#0#4#0#0#0'd'#0#0#0
+'d'#0#0#0#0#0#0#0#0#0#0#0#212#212''''#0#20'GlyphBackgroundColor'#7#7'clWhite'
+#10'ClickColor'#7#6'clBlue'#0#0#11'TGradButton'#16'ClickColorButton'#4'Left'
+#3#196#1#6'Height'#2#25#3'Top'#2'#'#5'Width'#2'h'#7'Caption'#6#16'ClickColor'
+'Button'#7'OnClick'#7#21'ClickColorButtonClick'#8'TabOrder'#2#15#7'TabStop'#9
+#11'NormalBlend'#5#0#0#0#0#0#0#0#128#254'?'#9'OverBlend'#5'5^'#186'I'#12#2'+'
+#167#254'?'#9'BaseColor'#7#6'clBlue'#5'Color'#7#6'clBlue'#16'NormalBlendColo'
+'r'#7#7'clWhite'#14'OverBlendColor'#7#8'clSilver'#15'BackgroundColor'#7#9'cl'
+'BtnFace'#11'BorderSides'#11#9'bsTopLine'#12'bsBottomLine'#10'bsLeftLine'#11
+'bsRightLine'#0#15'ShowFocusBorder'#9#10'Glyph.Data'#10'>'#0#0#0':'#0#0#0'BM'
+':'#0#0#0#0#0#0#0'6'#0#0#0'('#0#0#0#1#0#0#0#1#0#0#0#1#0#24#0#0#0#0#0#4#0#0#0
+'d'#0#0#0'd'#0#0#0#0#0#0#0#0#0#0#0'<`%'#0#20'GlyphBackgroundColor'#7#7'clWhi'
+'te'#10'ClickColor'#7#6'clBlue'#0#0#11'TGradButton'#19'DisabledColorButton'#4
+'Left'#3#196#1#6'Height'#2#25#3'Top'#2']'#5'Width'#2'h'#7'Caption'#6#19'Disa'
+'bledColorButton'#7'OnClick'#7#24'DisabledColorButtonClick'#8'TabOrder'#2#16
+#7'TabStop'#9#11'NormalBlend'#5#0#0#0#0#0#0#0#128#254'?'#9'OverBlend'#5'5^' +#7'TabStop'#9#11'NormalBlend'#5#0#0#0#0#0#0#0#128#254'?'#9'OverBlend'#5'5^'
+#186'I'#12#2'+'#167#254'?'#9'BaseColor'#7#6'clBlue'#5'Color'#7#6'clBlue'#16 +#186'I'#12#2'+'#167#254'?'#9'BaseColor'#7#6'clBlue'#5'Color'#7#6'clBlue'#16
+'NormalBlendColor'#7#7'clWhite'#14'OverBlendColor'#7#8'clSilver'#15'Backgrou' +'NormalBlendColor'#7#7'clWhite'#14'OverBlendColor'#7#8'clSilver'#15'Backgrou'
+'ndColor'#7#9'clBtnFace'#11'BorderSides'#11#9'bsTopLine'#12'bsBottomLine'#10 +'ndColor'#7#9'clBtnFace'#11'BorderSides'#11#9'bsTopLine'#12'bsBottomLine'#10
+'bsLeftLine'#11'bsRightLine'#0#15'ShowFocusBorder'#9#10'Glyph.Data'#10'>'#0#0 +'bsLeftLine'#11'bsRightLine'#0#15'ShowFocusBorder'#9#10'Glyph.Data'#10'>'#0#0
+#0':'#0#0#0'BM:'#0#0#0#0#0#0#0'6'#0#0#0'('#0#0#0#1#0#0#0#1#0#0#0#1#0#24#0#0#0 +#0':'#0#0#0'BM:'#0#0#0#0#0#0#0'6'#0#0#0'('#0#0#0#1#0#0#0#1#0#0#0#1#0#24#0#0#0
+#0#0#4#0#0#0'd'#0#0#0'd'#0#0#0#0#0#0#0#0#0#0#0#188#3#226#0#20'GlyphBackgroun' +#0#0#4#0#0#0'd'#0#0#0'd'#0#0#0#0#0#0#0#0#0#0#0#188'[%'#0#20'GlyphBackgroundC'
+'dColor'#7#7'clWhite'#10'ClickColor'#7#6'clBlue'#0#0#11'TGradButton'#26'Glyp' +'olor'#7#7'clWhite'#10'ClickColor'#7#6'clBlue'#0#0#9'TCheckBox'#17'Underline'
+'hBackgroundColorButton'#4'Left'#3#196#1#6'Height'#2#25#3'Top'#3#200#0#5'Wid' +'CheckBox'#4'Left'#3'G'#1#6'Height'#2#19#3'Top'#3#242#0#5'Width'#2'G'#7'Capt'
+'th'#2'h'#7'Caption'#6#26'GlyphBackgroundColorButton'#7'OnClick'#7#31'GlyphB' +'ion'#6#9'Underline'#8'OnChange'#7#23'UnderlineCheckBoxChange'#8'TabOrder'#2
+'ackgroundColorButtonClick'#8'TabOrder'#2#14#7'TabStop'#9#11'NormalBlend'#5#0 +#17#0#0#9'TCheckBox'#12'BoldCheckBox'#4'Left'#3'G'#1#6'Height'#2#19#3'Top'#3
+#5#1#5'Width'#2'.'#7'Caption'#6#4'Bold'#8'OnChange'#7#18'BoldCheckBoxChange'
+#8'TabOrder'#2#18#0#0#11'TGradButton'#15'TextColorButton'#4'Left'#3'X'#1#6'H'
+'eight'#2#25#3'Top'#2'#'#5'Width'#2'h'#7'Caption'#6#10'Text Color'#7'OnClick'
+#7#20'TextColorButtonClick'#8'TabOrder'#2#19#7'TabStop'#9#11'NormalBlend'#5#0
+#0#0#0#0#0#0#128#254'?'#9'OverBlend'#5'5^'#186'I'#12#2'+'#167#254'?'#9'BaseC' +#0#0#0#0#0#0#128#254'?'#9'OverBlend'#5'5^'#186'I'#12#2'+'#167#254'?'#9'BaseC'
+'olor'#7#6'clBlue'#5'Color'#7#6'clBlue'#16'NormalBlendColor'#7#7'clWhite'#14 +'olor'#7#6'clBlue'#5'Color'#7#6'clBlue'#16'NormalBlendColor'#7#7'clWhite'#14
+'OverBlendColor'#7#8'clSilver'#15'BackgroundColor'#7#9'clBtnFace'#11'BorderS' +'OverBlendColor'#7#8'clSilver'#15'BackgroundColor'#7#9'clBtnFace'#11'BorderS'
+'ides'#11#9'bsTopLine'#12'bsBottomLine'#10'bsLeftLine'#11'bsRightLine'#0#15 +'ides'#11#9'bsTopLine'#12'bsBottomLine'#10'bsLeftLine'#11'bsRightLine'#0#15
+'ShowFocusBorder'#9#10'Glyph.Data'#10'>'#0#0#0':'#0#0#0'BM:'#0#0#0#0#0#0#0'6' +'ShowFocusBorder'#9#10'Glyph.Data'#10'>'#0#0#0':'#0#0#0'BM:'#0#0#0#0#0#0#0'6'
+#0#0#0'('#0#0#0#1#0#0#0#1#0#0#0#1#0#24#0#0#0#0#0#4#0#0#0'd'#0#0#0'd'#0#0#0#0 +#0#0#0'('#0#0#0#1#0#0#0#1#0#0#0#1#0#24#0#0#0#0#0#4#0#0#0'd'#0#0#0'd'#0#0#0#0
+#0#0#0#0#0#0#0'dk'#220#0#20'GlyphBackgroundColor'#7#7'clWhite'#10'ClickColor' +#0#0#0#0#0#0#0#244#248''''#0#20'GlyphBackgroundColor'#7#7'clWhite'#10'ClickC'
+#7#6'clBlue'#0#0#11'TGradButton'#16'ClickColorButton'#4'Left'#3#196#1#6'Heig' +'olor'#7#6'clBlue'#0#0#9'TCheckBox'#14'ItalicCheckBox'#4'Left'#3'G'#1#6'Heig'
+'ht'#2#25#3'Top'#2'#'#5'Width'#2'h'#7'Caption'#6#16'ClickColorButton'#7'OnCl' +'ht'#2#19#3'Top'#3#24#1#5'Width'#2'1'#7'Caption'#6#6'Italic'#8'OnChange'#7#20
+'ick'#7#21'ClickColorButtonClick'#8'TabOrder'#2#15#7'TabStop'#9#11'NormalBle' +'ItalicCheckBoxChange'#8'TabOrder'#2#20#0#0#12'TColorDialog'#12'ColorDialog1'
+'nd'#5#0#0#0#0#0#0#0#128#254'?'#9'OverBlend'#5'5^'#186'I'#12#2'+'#167#254'?' ,#5'Color'#4'1i'#182#0#4'left'#2#8#3'top'#3#176#0#0#0#18'TOpenPictureDialog'
+#9'BaseColor'#7#6'clBlue'#5'Color'#7#6'clBlue'#16'NormalBlendColor'#7#7'clWh' +#18'OpenPictureDialog1'#6'Filter'#6#255'Graphic (*.tga;*.jpg;*.ico;*.ppm;*.p'
+'ite'#14'OverBlendColor'#7#8'clSilver'#15'BackgroundColor'#7#9'clBtnFace'#11 +'gm;*.pbm;*.png;*.xpm;*.bmp)|*.tga;*.jpg;*.ico;*.ppm;*.pgm;*.pbm;*.png;*.xpm'
+'BorderSides'#11#9'bsTopLine'#12'bsBottomLine'#10'bsLeftLine'#11'bsRightLine' +';*.bmp|TGA Image File (*.tga)|*.tga|Jpint Picture Expert Group (*.jpg)|*.jp'
+#0#15'ShowFocusBorder'#9#10'Glyph.Data'#10'>'#0#0#0':'#0#0#0'BM:'#0#0#0#0#0#0 +'g|Symbol (*.ico)|*.ico|Portable Pixmap (*.ppm)|*.ppm|Portable Graymap'#4'le'
+#0'6'#0#0#0'('#0#0#0#1#0#0#0#1#0#0#0#1#0#24#0#0#0#0#0#4#0#0#0'd'#0#0#0'd'#0#0 +'ft'#2'0'#3'top'#3#176#0#0#0#0
+#0#0#0#0#0#0#0#0#0','#253#222#0#20'GlyphBackgroundColor'#7#7'clWhite'#10'Cli'
+'ckColor'#7#6'clBlue'#0#0#11'TGradButton'#19'DisabledColorButton'#4'Left'#3
+#196#1#6'Height'#2#25#3'Top'#2']'#5'Width'#2'h'#7'Caption'#6#19'DisabledColo'
+'rButton'#7'OnClick'#7#24'DisabledColorButtonClick'#8'TabOrder'#2#16#7'TabSt'
+'op'#9#11'NormalBlend'#5#0#0#0#0#0#0#0#128#254'?'#9'OverBlend'#5'5^'#186'I'
+#12#2'+'#167#254'?'#9'BaseColor'#7#6'clBlue'#5'Color'#7#6'clBlue'#16'NormalB'
+'lendColor'#7#7'clWhite'#14'OverBlendColor'#7#8'clSilver'#15'BackgroundColor'
+#7#9'clBtnFace'#11'BorderSides'#11#9'bsTopLine'#12'bsBottomLine'#10'bsLeftLi'
+'ne'#11'bsRightLine'#0#15'ShowFocusBorder'#9#10'Glyph.Data'#10'>'#0#0#0':'#0
+#0#0'BM:'#0#0#0#0#0#0#0'6'#0#0#0'('#0#0#0#1#0#0#0#1#0#0#0#1#0#24#0#0#0#0#0#4
+#0#0#0'd'#0#0#0'd'#0#0#0#0#0#0#0#0#0#0#0'TT'#220#0#20'GlyphBackgroundColor'#7
+#7'clWhite'#10'ClickColor'#7#6'clBlue'#0#0#9'TCheckBox'#17'UnderlineCheckBox'
+#4'Left'#3'G'#1#6'Height'#2#19#3'Top'#3#242#0#5'Width'#2'G'#7'Caption'#6#9'U'
+'nderline'#8'OnChange'#7#23'UnderlineCheckBoxChange'#8'TabOrder'#2#17#0#0#9
+'TCheckBox'#12'BoldCheckBox'#4'Left'#3'G'#1#6'Height'#2#19#3'Top'#3#5#1#5'Wi'
+'dth'#2'.'#7'Caption'#6#4'Bold'#8'OnChange'#7#18'BoldCheckBoxChange'#8'TabOr'
+'der'#2#18#0#0#11'TGradButton'#15'TextColorButton'#4'Left'#3'X'#1#6'Height'#2
+#25#3'Top'#2'#'#5'Width'#2'h'#7'Caption'#6#10'Text Color'#7'OnClick'#7#20'Te'
+'xtColorButtonClick'#8'TabOrder'#2#19#7'TabStop'#9#11'NormalBlend'#5#0#0#0#0
+#0#0#0#128#254'?'#9'OverBlend'#5'5^'#186'I'#12#2'+'#167#254'?'#9'BaseColor'#7
+#6'clBlue'#5'Color'#7#6'clBlue'#16'NormalBlendColor'#7#7'clWhite'#14'OverBle'
+'ndColor'#7#8'clSilver'#15'BackgroundColor'#7#9'clBtnFace'#11'BorderSides'#11
+#9'bsTopLine'#12'bsBottomLine'#10'bsLeftLine'#11'bsRightLine'#0#15'ShowFocus'
+'Border'#9#10'Glyph.Data'#10'>'#0#0#0':'#0#0#0'BM:'#0#0#0#0#0#0#0'6'#0#0#0'('
+#0#0#0#1#0#0#0#1#0#0#0#1#0#24#0#0#0#0#0#4#0#0#0'd'#0#0#0'd'#0#0#0#0#0#0#0#0#0
+#0#0#172#243#225#0#20'GlyphBackgroundColor'#7#7'clWhite'#10'ClickColor'#7#6
+'clBlue'#0#0#9'TCheckBox'#14'ItalicCheckBox'#4'Left'#3'G'#1#6'Height'#2#19#3
+'Top'#3#24#1#5'Width'#2'1'#7'Caption'#6#6'Italic'#8'OnChange'#7#20'ItalicChe'
,'ckBoxChange'#8'TabOrder'#2#20#0#0#12'TColorDialog'#12'ColorDialog1'#5'Color'
+#4'1i'#182#0#4'left'#2'0'#3'top'#3#176#0#0#0#10'TImageList'#10'ImageList1'#4
+'left'#2#8#3'top'#3#176#0#0#0#18'TOpenPictureDialog'#18'OpenPictureDialog1'#6
+'Filter'#6#255'Graphic (*.tga;*.jpg;*.ico;*.ppm;*.pgm;*.pbm;*.png;*.xpm;*.bm'
+'p)|*.tga;*.jpg;*.ico;*.ppm;*.pgm;*.pbm;*.png;*.xpm;*.bmp|TGA Image File (*.'
+'tga)|*.tga|Jpint Picture Expert Group (*.jpg)|*.jpg|Symbol (*.ico)|*.ico|Po'
+'rtable Pixmap (*.ppm)|*.ppm|Portable Graymap'#4'left'#2'X'#3'top'#3#176#0#0
+#0#0
]); ]);

View File

@ -30,7 +30,6 @@ type
GlyphBackgroundColorButton: TGradButton; GlyphBackgroundColorButton: TGradButton;
ClickColorButton: TGradButton; ClickColorButton: TGradButton;
DisabledColorButton: TGradButton; DisabledColorButton: TGradButton;
ImageList1: TImageList;
Label1: TLabel; Label1: TLabel;
Label10: TLabel; Label10: TLabel;
Label11: TLabel; Label11: TLabel;
@ -50,7 +49,6 @@ type
RadioGroup4: TRadioGroup; RadioGroup4: TRadioGroup;
TrackBar1: TTrackBar; TrackBar1: TTrackBar;
TrackBar2: TTrackBar; TrackBar2: TTrackBar;
procedure bClick(Sender: TObject);
procedure BoldCheckBoxChange(Sender: TObject); procedure BoldCheckBoxChange(Sender: TObject);
procedure CheckGroup1ItemClick(Sender: TObject; Index: integer); procedure CheckGroup1ItemClick(Sender: TObject; Index: integer);
procedure CheckGroup2ItemClick(Sender: TObject; Index: integer); procedure CheckGroup2ItemClick(Sender: TObject; Index: integer);
@ -81,8 +79,7 @@ var
implementation implementation
uses uses
GraphType, LazPNG; GraphType;
procedure UpdateButtonColor(Button: TGradButton; Color: TColor); procedure UpdateButtonColor(Button: TGradButton; Color: TColor);
begin begin
Button.BaseColor := Color; Button.BaseColor := Color;
@ -115,13 +112,12 @@ begin
CheckGroup2.Checked[0]:=b.ShowFocusBorder; CheckGroup2.Checked[0]:=b.ShowFocusBorder;
CheckGroup2.Checked[2]:=true; CheckGroup2.Checked[2]:=true;
//ImageList1.AddLazarusResource('house');
//ImageList1.GetBitmap(0,b.Glyph,gdeHighlighted);
//ImageList1.GetBitmap();
b.Caption:=LabeledEdit1.Text; b.Caption:=LabeledEdit1.Text;
//ImageList1.Add(LoadBitmapFromLazarusResource('script_go'),nil);
//b.Glyph := LoadBitmapFromLazarusResource('table_gear');
b.ShowGlyph:=true;
end; end;
procedure TForm1.RadioGroup1Click(Sender: TObject); procedure TForm1.RadioGroup1Click(Sender: TObject);
@ -185,35 +181,20 @@ end;
procedure TForm1.GradButton4Click(Sender: TObject); procedure TForm1.GradButton4Click(Sender: TObject);
var var
tempPicture : TPicture; tempPicture : TPicture;
png : TPNGImage;
begin begin
if OpenPictureDialog1.Execute then if OpenPictureDialog1.Execute then
begin begin
ImageList1.Clear; tempPicture := TPicture.Create;
try try
tempPicture := TPicture.Create;
tempPicture.LoadFromFile(OpenPictureDialog1.FileName); tempPicture.LoadFromFile(OpenPictureDialog1.FileName);
//png := TPNGImage.Create;
//png.LoadFromFile(OpenPictureDialog1.FileName);
GradButton4.Glyph.Assign(tempPicture.Graphic);
b.Glyph.Assign(tempPicture.Graphic); b.Glyph.Assign(tempPicture.Graphic);
GradButton4.UpdateButton; GradButton4.Glyph.Assign(tempPicture.Graphic);
b.UpdateButton; GradButton4.ShowGlyph := true;
//ImageList1.; GradButton4.Caption := '';
//Image1.Picture.LoadFromFile(OpenPictureDialog1.FileName);
//tempPicture.Picture.Bitmap.Canvas.Pixels[1,2]:=clRed;
//ImageList1.AddMasked(tempPicture.Picture.Bitmap,clNone);
//ImageList1.GetBitmap(0,b.Glyph);
//mageList1.GetBitmap(0,);
//GradButton4.Glyph := Image1.Picture.Bitmap;
//Image1.Picture.Bitmap := tempPicture.Picture.Bitmap;
GradButton4.ShowGlyph:=true;
GradButton4.Caption:='';
finally finally
tempPicture.Free; tempPicture.Free;
//png.Free;
end; end;
end; end;
end; end;
@ -290,11 +271,6 @@ begin
end; end;
end; end;
procedure TForm1.bClick(Sender: TObject);
begin
end;
procedure TForm1.BoldCheckBoxChange(Sender: TObject); procedure TForm1.BoldCheckBoxChange(Sender: TObject);
begin begin
if BoldCheckBox.Checked then if BoldCheckBox.Checked then
@ -345,6 +321,5 @@ end;
initialization initialization
{$I main.lrs} {$I main.lrs}
end. end.

View File

@ -1,7 +1,7 @@
object Form1: TForm1 object Form1: TForm1
Left = 81 Left = 264
Height = 506 Height = 506
Top = 164 Top = 155
Width = 898 Width = 898
Caption = 'Form1' Caption = 'Form1'
ClientHeight = 506 ClientHeight = 506
@ -9,533 +9,50 @@ object Form1: TForm1
OnCreate = FormCreate OnCreate = FormCreate
OnDestroy = FormDestroy OnDestroy = FormDestroy
LCLVersion = '0.9.25' LCLVersion = '0.9.25'
object GradButton1: TGradButton
Left = 24
Height = 104
Top = 88
Width = 176
Caption = 'GradButton1'
OnClick = GradButton1Click
OnMouseDown = GradButton1MouseDown
OnMouseEnter = GradButton1MouseEnter
OnMouseLeave = GradButton1MouseLeave
OnMouseMove = GradButton1MouseMove
OnMouseUp = GradButton1MouseUp
TabOrder = 0
TabStop = True
NormalBlend = 0.5
OverBlend = 0.653
BaseColor = clBlue
Color = clBlue
NormalBlendColor = clWhite
OverBlendColor = clSilver
BackgroundColor = clBtnFace
BorderSides = [bsTopLine, bsBottomLine, bsLeftLine, bsRightLine]
ShowFocusBorder = True
Glyph.Data = {
3A000000424D3A00000000000000360000002800000001000000010000000100
18000000000004000000640000006400000000000000000000009451DC00
}
GlyphBackgroundColor = clWhite
ClickColor = clBlue
end
object Panel1: TPanel object Panel1: TPanel
Height = 506 Height = 506
Width = 759 Width = 655
Align = alLeft Align = alLeft
Anchors = [akTop, akLeft, akRight, akBottom] Anchors = [akTop, akLeft, akRight, akBottom]
Caption = 'Panel1' Caption = 'Panel1'
ClientHeight = 506 ClientHeight = 506
ClientWidth = 759 ClientWidth = 655
TabOrder = 1 TabOrder = 0
object GradTabControl1: TGradTabControl object GradTabControl1: TGradTabControl
Left = 248 Left = 40
Height = 504 Height = 312
Top = 1 Top = 32
Width = 392 Width = 136
Align = alClient ControlStyle = [csAcceptsControls]
ControlStyle = [csAcceptsControls, csDesignInteractive, csOpaque, csMenuEvents, csParentBackground, csOwnedChildsSelectable]
ActivePage = GradTabPage2 ActivePage = GradTabPage2
OnTabButtonClick = GradTabControl1TabButtonClick
OnTabButtonMouseUp = GradTabControl1TabButtonMouseUp
PageIndex = 1 PageIndex = 1
TabHeight = 20 TabHeight = 30
TabPosition = tpRight
object GradTabPage1: TGradTabPage object GradTabPage1: TGradTabPage
Left = 2 Left = 2
Height = 480 Height = 308
Top = 22 Top = 2
Width = 388 Width = 126
ControlState = [csVisibleSetInLoading]
ControlStyle = [csAcceptsControls, csCaptureMouse, csClickEvents, csSetCaption, csDoubleClicks, csNoDesignVisible, csDesignFixedBounds, csNoDesignSelectable]
Caption = 'GradTabPage1' Caption = 'GradTabPage1'
ShowCloseButton = True
object Edit1: TEdit
Height = 480
Width = 388
Align = alClient
TabOrder = 0
Text = 'Edit1'
end
end
object GradTabPage3: TGradTabPage
Left = 2
Height = 480
Top = 22
Width = 388
ControlState = [csVisibleSetInLoading]
ControlStyle = [csCaptureMouse, csClickEvents, csSetCaption, csDoubleClicks, csNoDesignVisible, csDesignFixedBounds, csNoDesignSelectable]
PageIndex = 2
Caption = 'GradTabPage3'
object Memo1: TMemo
Left = 6
Height = 362
Top = 49
Width = 326
Align = alClient
Lines.Strings = (
'Memo1'
)
TabOrder = 0
end
end end
object GradTabPage2: TGradTabPage object GradTabPage2: TGradTabPage
Left = 2 Left = 2
Height = 480 Height = 308
Top = 22 Top = 2
Width = 388 Width = 102
ControlState = [csVisibleSetInLoading]
ControlStyle = [csAcceptsControls, csCaptureMouse, csClickEvents, csSetCaption, csDoubleClicks, csDesignFixedBounds]
PageIndex = 1 PageIndex = 1
Caption = 'GradTabPage2' Caption = 'GradTabPage2'
end end
end end
object GradTabControl2: TGradTabControl
Left = 1
Height = 504
Top = 1
Width = 247
Align = alLeft
ControlStyle = [csAcceptsControls]
ActivePage = GradTabPage5
OnTabButtonClick = GradTabControl2TabButtonClick
PageIndex = 1
TabHeight = 25
TabPosition = tpRight
object GradTabPage4: TGradTabPage
Left = 2
Height = 587
Top = 2
Width = 218
ControlState = [csVisibleSetInLoading]
ControlStyle = [csAcceptsControls, csCaptureMouse, csClickEvents, csSetCaption, csDoubleClicks, csNoDesignVisible, csDesignFixedBounds, csNoDesignSelectable]
TabVisible = False
Caption = 'GradTabPage4wewwerwerwer'
object SynEdit1: TSynEdit
Height = 587
Width = 218
Align = alClient
Font.Height = 12
Font.Name = 'Courier'
Font.Pitch = fpFixed
ParentColor = False
TabOrder = 0
BookMarkOptions.OnChange = nil
Highlighter = SynPHPSyn1
Keystrokes = <
item
Command = 3
ShortCut = 38
end
item
Command = 103
ShortCut = 8230
end
item
Command = 211
ShortCut = 16422
end
item
Command = 4
ShortCut = 40
end
item
Command = 104
ShortCut = 8232
end
item
Command = 212
ShortCut = 16424
end
item
Command = 1
ShortCut = 37
end
item
Command = 101
ShortCut = 8229
end
item
Command = 5
ShortCut = 16421
end
item
Command = 105
ShortCut = 24613
end
item
Command = 2
ShortCut = 39
end
item
Command = 102
ShortCut = 8231
end
item
Command = 6
ShortCut = 16423
end
item
Command = 106
ShortCut = 24615
end
item
Command = 10
ShortCut = 34
end
item
Command = 110
ShortCut = 8226
end
item
Command = 14
ShortCut = 16418
end
item
Command = 114
ShortCut = 24610
end
item
Command = 9
ShortCut = 33
end
item
Command = 109
ShortCut = 8225
end
item
Command = 13
ShortCut = 16417
end
item
Command = 113
ShortCut = 24609
end
item
Command = 7
ShortCut = 36
end
item
Command = 107
ShortCut = 8228
end
item
Command = 15
ShortCut = 16420
end
item
Command = 115
ShortCut = 24612
end
item
Command = 8
ShortCut = 35
end
item
Command = 108
ShortCut = 8227
end
item
Command = 16
ShortCut = 16419
end
item
Command = 116
ShortCut = 24611
end
item
Command = 223
ShortCut = 45
end
item
Command = 201
ShortCut = 16429
end
item
Command = 604
ShortCut = 8237
end
item
Command = 502
ShortCut = 46
end
item
Command = 603
ShortCut = 8238
end
item
Command = 501
ShortCut = 8
end
item
Command = 501
ShortCut = 8200
end
item
Command = 504
ShortCut = 16392
end
item
Command = 601
ShortCut = 32776
end
item
Command = 602
ShortCut = 40968
end
item
Command = 509
ShortCut = 13
end
item
Command = 199
ShortCut = 16449
end
item
Command = 201
ShortCut = 16451
end
item
Command = 610
ShortCut = 24649
end
item
Command = 509
ShortCut = 16461
end
item
Command = 510
ShortCut = 16462
end
item
Command = 503
ShortCut = 16468
end
item
Command = 611
ShortCut = 24661
end
item
Command = 604
ShortCut = 16470
end
item
Command = 603
ShortCut = 16472
end
item
Command = 507
ShortCut = 16473
end
item
Command = 506
ShortCut = 24665
end
item
Command = 601
ShortCut = 16474
end
item
Command = 602
ShortCut = 24666
end
item
Command = 301
ShortCut = 16432
end
item
Command = 302
ShortCut = 16433
end
item
Command = 303
ShortCut = 16434
end
item
Command = 304
ShortCut = 16435
end
item
Command = 305
ShortCut = 16436
end
item
Command = 306
ShortCut = 16437
end
item
Command = 307
ShortCut = 16438
end
item
Command = 308
ShortCut = 16439
end
item
Command = 309
ShortCut = 16440
end
item
Command = 310
ShortCut = 16441
end
item
Command = 351
ShortCut = 24624
end
item
Command = 352
ShortCut = 24625
end
item
Command = 353
ShortCut = 24626
end
item
Command = 354
ShortCut = 24627
end
item
Command = 355
ShortCut = 24628
end
item
Command = 356
ShortCut = 24629
end
item
Command = 357
ShortCut = 24630
end
item
Command = 358
ShortCut = 24631
end
item
Command = 359
ShortCut = 24632
end
item
Command = 360
ShortCut = 24633
end
item
Command = 231
ShortCut = 24654
end
item
Command = 232
ShortCut = 24643
end
item
Command = 233
ShortCut = 24652
end
item
Command = 612
ShortCut = 9
end
item
Command = 613
ShortCut = 8201
end
item
Command = 250
ShortCut = 24642
end>
Lines.Strings = (
'<?'
''
'echo "string";'
''
'?>'
)
SelectedColor.OnChange = nil
end
end
object GradTabPage5: TGradTabPage
Left = 2
Height = 500
Top = 2
Width = 218
ControlState = [csVisibleSetInLoading]
ControlStyle = [csAcceptsControls, csCaptureMouse, csClickEvents, csSetCaption, csDoubleClicks, csDesignFixedBounds]
PageIndex = 1
Caption = 'GradTabPage5'
ShowCloseButton = True
object StringGrid1: TStringGrid
Height = 500
Width = 218
Align = alClient
ColCount = 5
ExtendedSelect = True
FixedColor = clBtnFace
Options = [goFixedVertLine, goFixedHorzLine, goVertLine, goHorzLine, goRangeSelect, goSmoothScroll]
RowCount = 5
TabOrder = 0
end
end
end
object GradTabControl3: TGradTabControl
Left = 640
Height = 504
Top = 1
Width = 118
Align = alRight
ControlStyle = [csAcceptsControls]
ActivePage = GradTabPage6
PageIndex = 1
TabHeight = 30
TabPosition = tpLeft
object GradTabPage7: TGradTabPage
Left = 32
Height = 500
Top = 2
Width = 84
ControlState = [csVisibleSetInLoading]
ControlStyle = [csAcceptsControls, csCaptureMouse, csClickEvents, csSetCaption, csDoubleClicks, csNoDesignVisible, csDesignFixedBounds, csNoDesignSelectable]
Caption = 'GradTabPage7'
end
object GradTabPage6: TGradTabPage
Left = 32
Height = 500
Top = 2
Width = 84
ControlState = [csVisibleSetInLoading]
ControlStyle = [csAcceptsControls, csCaptureMouse, csClickEvents, csSetCaption, csDoubleClicks, csDesignFixedBounds]
PageIndex = 1
Caption = 'GradTabPage6'
ShowCloseButton = True
end
end
end end
object Panel2: TPanel object Panel2: TPanel
Left = 764 Left = 660
Height = 506 Height = 506
Width = 134 Width = 238
Align = alClient Align = alClient
Caption = 'Panel2' Caption = 'Panel2'
ClientHeight = 506 ClientHeight = 506
ClientWidth = 134 ClientWidth = 238
TabOrder = 2 TabOrder = 2
object ComboBox1: TComboBox object ComboBox1: TComboBox
Left = 16 Left = 16
@ -548,81 +65,6 @@ object Form1: TForm1
Style = csDropDownList Style = csDropDownList
TabOrder = 0 TabOrder = 0
end end
object GradButton3: TGradButton
Left = 16
Height = 25
Top = 48
Width = 100
Caption = 'Add'
OnClick = GradButton3Click
TabOrder = 1
TabStop = True
NormalBlend = 0.5
OverBlend = 0.653
BaseColor = clBlue
Color = clBlue
NormalBlendColor = clWhite
OverBlendColor = clSilver
BackgroundColor = clBtnFace
BorderSides = [bsTopLine, bsBottomLine, bsLeftLine, bsRightLine]
ShowFocusBorder = True
Glyph.Data = {
3A000000424D3A00000000000000360000002800000001000000010000000100
1800000000000400000064000000640000000000000000000000FC8FE500
}
GlyphBackgroundColor = clWhite
ClickColor = clBlue
end
object GradButton4: TGradButton
Left = 16
Height = 25
Top = 112
Width = 100
Caption = 'Delete'
OnClick = GradButton4Click
TabOrder = 2
TabStop = True
NormalBlend = 0.5
OverBlend = 0.653
BaseColor = clBlue
Color = clBlue
NormalBlendColor = clWhite
OverBlendColor = clSilver
BackgroundColor = clBtnFace
BorderSides = [bsTopLine, bsBottomLine, bsLeftLine, bsRightLine]
ShowFocusBorder = True
Glyph.Data = {
3A000000424D3A00000000000000360000002800000001000000010000000100
1800000000000400000064000000640000000000000000000000ACA4E500
}
GlyphBackgroundColor = clWhite
ClickColor = clBlue
end
object GradButton2: TGradButton
Left = 16
Height = 25
Top = 80
Width = 100
Caption = 'Add Custom Page'
OnClick = GradButton2Click
TabOrder = 3
TabStop = True
NormalBlend = 0.5
OverBlend = 0.653
BaseColor = clBlue
Color = clBlue
NormalBlendColor = clWhite
OverBlendColor = clSilver
BackgroundColor = clBtnFace
BorderSides = [bsTopLine, bsBottomLine, bsLeftLine, bsRightLine]
ShowFocusBorder = True
Glyph.Data = {
3A000000424D3A00000000000000360000002800000001000000010000000100
18000000000004000000640000006400000000000000000000008C440700
}
GlyphBackgroundColor = clWhite
ClickColor = clBlue
end
object RadioGroup1: TRadioGroup object RadioGroup1: TRadioGroup
Left = 16 Left = 16
Height = 113 Height = 113
@ -648,7 +90,7 @@ object Form1: TForm1
'tpRight' 'tpRight'
) )
OnClick = RadioGroup1Click OnClick = RadioGroup1Click
TabOrder = 4 TabOrder = 2
end end
object CheckBox1: TCheckBox object CheckBox1: TCheckBox
Left = 15 Left = 15
@ -666,7 +108,7 @@ object Form1: TForm1
Width = 34 Width = 34
MaxValue = 50 MaxValue = 50
OnEditingDone = SpinEdit1EditingDone OnEditingDone = SpinEdit1EditingDone
TabOrder = 6 TabOrder = 1
Value = 50 Value = 50
end end
object Arrow1: TArrow object Arrow1: TArrow
@ -675,34 +117,6 @@ object Form1: TForm1
Top = 456 Top = 456
Width = 10 Width = 10
end end
object GradButton5: TGradButton
Left = 44
Height = 24
Top = 336
Width = 24
Caption = 'X'
Font.Name = 'System'
Font.Style = [fsBold]
TabOrder = 8
TabStop = True
NormalBlend = 0.5
OverBlend = 0.653
BaseColor = clBtnFace
Color = clBtnFace
NormalBlendColor = clBtnFace
OverBlendColor = clWhite
BackgroundColor = clBtnFace
AutoWidth = True
BorderSides = [bsTopLine, bsBottomLine, bsLeftLine, bsRightLine]
ShowFocusBorder = True
RotateDirection = rdRight
Glyph.Data = {
3A000000424D3A00000000000000360000002800000001000000010000000100
1800000000000400000064000000640000000000000000000000FCCFE100
}
GlyphBackgroundColor = clWhite
ClickColor = clBtnFace
end
object ScrollBox1: TScrollBox object ScrollBox1: TScrollBox
Left = -28 Left = -28
Height = 150 Height = 150
@ -711,11 +125,11 @@ object Form1: TForm1
HorzScrollBar.Page = 145 HorzScrollBar.Page = 145
VertScrollBar.Page = 145 VertScrollBar.Page = 145
AutoScroll = False AutoScroll = False
TabOrder = 9 TabOrder = 3
end end
end end
object Splitter1: TSplitter object Splitter1: TSplitter
Left = 759 Left = 655
Height = 506 Height = 506
Width = 5 Width = 5
end end

View File

@ -1,192 +1,44 @@
{ Das ist eine automatisch erzeugte Lazarus-Ressourcendatei } { Das ist eine automatisch erzeugte Lazarus-Ressourcendatei }
LazarusResources.Add('TForm1','FORMDATA',[ LazarusResources.Add('TForm1','FORMDATA',[
'TPF0'#6'TForm1'#5'Form1'#4'Left'#2'Q'#6'Height'#3#250#1#3'Top'#3#164#0#5'Wid' 'TPF0'#6'TForm1'#5'Form1'#4'Left'#3#8#1#6'Height'#3#250#1#3'Top'#3#155#0#5'Wi'
+'th'#3#130#3#7'Caption'#6#5'Form1'#12'ClientHeight'#3#250#1#11'ClientWidth'#3 +'dth'#3#130#3#7'Caption'#6#5'Form1'#12'ClientHeight'#3#250#1#11'ClientWidth'
+#130#3#8'OnCreate'#7#10'FormCreate'#9'OnDestroy'#7#11'FormDestroy'#10'LCLVer' +#3#130#3#8'OnCreate'#7#10'FormCreate'#9'OnDestroy'#7#11'FormDestroy'#10'LCLV'
+'sion'#6#6'0.9.25'#0#11'TGradButton'#11'GradButton1'#4'Left'#2#24#6'Height'#2 +'ersion'#6#6'0.9.25'#0#6'TPanel'#6'Panel1'#6'Height'#3#250#1#5'Width'#3#143#2
+'h'#3'Top'#2'X'#5'Width'#3#176#0#7'Caption'#6#11'GradButton1'#7'OnClick'#7#16 +#5'Align'#7#6'alLeft'#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#8'akBottom'
+'GradButton1Click'#11'OnMouseDown'#7#20'GradButton1MouseDown'#12'OnMouseEnte' +#0#7'Caption'#6#6'Panel1'#12'ClientHeight'#3#250#1#11'ClientWidth'#3#143#2#8
+'r'#7#21'GradButton1MouseEnter'#12'OnMouseLeave'#7#21'GradButton1MouseLeave' +'TabOrder'#2#0#0#15'TGradTabControl'#15'GradTabControl1'#4'Left'#2'('#6'Heig'
+#11'OnMouseMove'#7#20'GradButton1MouseMove'#9'OnMouseUp'#7#18'GradButton1Mou' +'ht'#3'8'#1#3'Top'#2' '#5'Width'#3#136#0#12'ControlStyle'#11#17'csAcceptsCon'
+'seUp'#8'TabOrder'#2#0#7'TabStop'#9#11'NormalBlend'#5#0#0#0#0#0#0#0#128#254 +'trols'#0#10'ActivePage'#7#12'GradTabPage2'#9'PageIndex'#2#1#9'TabHeight'#2
+'?'#9'OverBlend'#5'5^'#186'I'#12#2'+'#167#254'?'#9'BaseColor'#7#6'clBlue'#5 +#30#11'TabPosition'#7#7'tpRight'#0#12'TGradTabPage'#12'GradTabPage1'#4'Left'
+'Color'#7#6'clBlue'#16'NormalBlendColor'#7#7'clWhite'#14'OverBlendColor'#7#8 +#2#2#6'Height'#3'4'#1#3'Top'#2#2#5'Width'#2'~'#7'Caption'#6#12'GradTabPage1'
+'clSilver'#15'BackgroundColor'#7#9'clBtnFace'#11'BorderSides'#11#9'bsTopLine' +#0#0#12'TGradTabPage'#12'GradTabPage2'#4'Left'#2#2#6'Height'#3'4'#1#3'Top'#2
+#12'bsBottomLine'#10'bsLeftLine'#11'bsRightLine'#0#15'ShowFocusBorder'#9#10 +#2#5'Width'#2'f'#9'PageIndex'#2#1#7'Caption'#6#12'GradTabPage2'#0#0#0#0#6'TP'
+'Glyph.Data'#10'>'#0#0#0':'#0#0#0'BM:'#0#0#0#0#0#0#0'6'#0#0#0'('#0#0#0#1#0#0 +'anel'#6'Panel2'#4'Left'#3#148#2#6'Height'#3#250#1#5'Width'#3#238#0#5'Align'
+#0#1#0#0#0#1#0#24#0#0#0#0#0#4#0#0#0'd'#0#0#0'd'#0#0#0#0#0#0#0#0#0#0#0#148'Q' +#7#8'alClient'#7'Caption'#6#6'Panel2'#12'ClientHeight'#3#250#1#11'ClientWidt'
+#220#0#20'GlyphBackgroundColor'#7#7'clWhite'#10'ClickColor'#7#6'clBlue'#0#0#6 +'h'#3#238#0#8'TabOrder'#2#2#0#9'TComboBox'#9'ComboBox1'#4'Left'#2#16#6'Heigh'
+'TPanel'#6'Panel1'#6'Height'#3#250#1#5'Width'#3#247#2#5'Align'#7#6'alLeft'#7 +'t'#2#21#3'Top'#2#16#5'Width'#2'd'#16'AutoCompleteText'#11#22'cbactEndOfLine'
+'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#8'akBottom'#0#7'Caption'#6#6'Pane' +'Complete'#20'cbactSearchAscending'#0#10'ItemHeight'#2#13#8'OnChange'#7#15'C'
+'l1'#12'ClientHeight'#3#250#1#11'ClientWidth'#3#247#2#8'TabOrder'#2#1#0#15'T' +'omboBox1Change'#5'Style'#7#14'csDropDownList'#8'TabOrder'#2#0#0#0#11'TRadio'
+'GradTabControl'#15'GradTabControl1'#4'Left'#3#248#0#6'Height'#3#248#1#3'Top' +'Group'#11'RadioGroup1'#4'Left'#2#16#6'Height'#2'q'#3'Top'#3#152#0#5'Width'#2
+#2#1#5'Width'#3#136#1#5'Align'#7#8'alClient'#12'ControlStyle'#11#17'csAccept' +'d'#8'AutoFill'#9#7'Caption'#6#12'Tab Position'#28'ChildSizing.LeftRightSpac'
+'sControls'#19'csDesignInteractive'#8'csOpaque'#12'csMenuEvents'#18'csParent' +'ing'#2#6#28'ChildSizing.TopBottomSpacing'#2#6#29'ChildSizing.EnlargeHorizon'
+'Background'#23'csOwnedChildsSelectable'#0#10'ActivePage'#7#12'GradTabPage2' +'tal'#7#24'crsHomogenousChildResize'#27'ChildSizing.EnlargeVertical'#7#24'cr'
+#16'OnTabButtonClick'#7#29'GradTabControl1TabButtonClick'#18'OnTabButtonMous' +'sHomogenousChildResize'#28'ChildSizing.ShrinkHorizontal'#7#14'crsScaleChild'
+'eUp'#7#31'GradTabControl1TabButtonMouseUp'#9'PageIndex'#2#1#9'TabHeight'#2 +'s'#26'ChildSizing.ShrinkVertical'#7#14'crsScaleChilds'#18'ChildSizing.Layou'
+#20#0#12'TGradTabPage'#12'GradTabPage1'#4'Left'#2#2#6'Height'#3#224#1#3'Top' +'t'#7#29'cclLeftToRightThenTopToBottom'#27'ChildSizing.ControlsPerLine'#2#1
+#2#22#5'Width'#3#132#1#12'ControlState'#11#21'csVisibleSetInLoading'#0#12'Co' +#12'ClientHeight'#2'_'#11'ClientWidth'#2'`'#9'ItemIndex'#2#0#13'Items.String'
+'ntrolStyle'#11#17'csAcceptsControls'#14'csCaptureMouse'#13'csClickEvents'#12 +'s'#1#6#5'tpTop'#6#8'tpBottom'#6#6'tpLeft'#6#7'tpRight'#0#7'OnClick'#7#16'Ra'
+'csSetCaption'#14'csDoubleClicks'#17'csNoDesignVisible'#19'csDesignFixedBoun' +'dioGroup1Click'#8'TabOrder'#2#2#0#0#9'TCheckBox'#9'CheckBox1'#4'Left'#2#15#6
+'ds'#20'csNoDesignSelectable'#0#7'Caption'#6#12'GradTabPage1'#15'ShowCloseBu' +'Height'#2#19#3'Top'#3#20#1#5'Width'#2'K'#7'Caption'#6#9'Long Tabs'#7'OnClic'
+'tton'#9#0#5'TEdit'#5'Edit1'#6'Height'#3#224#1#5'Width'#3#132#1#5'Align'#7#8 +'k'#7#14'CheckBox1Click'#8'TabOrder'#2#5#0#0#9'TSpinEdit'#9'SpinEdit1'#4'Lef'
+'alClient'#8'TabOrder'#2#0#4'Text'#6#5'Edit1'#0#0#0#12'TGradTabPage'#12'Grad' +'t'#2'_'#6'Height'#2#19#3'Top'#3#20#1#5'Width'#2'"'#8'MaxValue'#2'2'#13'OnEd'
+'TabPage3'#4'Left'#2#2#6'Height'#3#224#1#3'Top'#2#22#5'Width'#3#132#1#12'Con' +'itingDone'#7#20'SpinEdit1EditingDone'#8'TabOrder'#2#1#5'Value'#2'2'#0#0#6'T'
+'trolState'#11#21'csVisibleSetInLoading'#0#12'ControlStyle'#11#14'csCaptureM' +'Arrow'#6'Arrow1'#4'Left'#2#31#6'Height'#2#10#3'Top'#3#200#1#5'Width'#2#10#0
+'ouse'#13'csClickEvents'#12'csSetCaption'#14'csDoubleClicks'#17'csNoDesignVi'
+'sible'#19'csDesignFixedBounds'#20'csNoDesignSelectable'#0#9'PageIndex'#2#2#7
+'Caption'#6#12'GradTabPage3'#0#5'TMemo'#5'Memo1'#4'Left'#2#6#6'Height'#3'j'#1
+#3'Top'#2'1'#5'Width'#3'F'#1#5'Align'#7#8'alClient'#13'Lines.Strings'#1#6#5
+'Memo1'#0#8'TabOrder'#2#0#0#0#0#12'TGradTabPage'#12'GradTabPage2'#4'Left'#2#2
+#6'Height'#3#224#1#3'Top'#2#22#5'Width'#3#132#1#12'ControlState'#11#21'csVis'
+'ibleSetInLoading'#0#12'ControlStyle'#11#17'csAcceptsControls'#14'csCaptureM'
+'ouse'#13'csClickEvents'#12'csSetCaption'#14'csDoubleClicks'#19'csDesignFixe'
+'dBounds'#0#9'PageIndex'#2#1#7'Caption'#6#12'GradTabPage2'#0#0#0#15'TGradTab'
+'Control'#15'GradTabControl2'#4'Left'#2#1#6'Height'#3#248#1#3'Top'#2#1#5'Wid'
+'th'#3#247#0#5'Align'#7#6'alLeft'#12'ControlStyle'#11#17'csAcceptsControls'#0
+#10'ActivePage'#7#12'GradTabPage5'#16'OnTabButtonClick'#7#29'GradTabControl2'
+'TabButtonClick'#9'PageIndex'#2#1#9'TabHeight'#2#25#11'TabPosition'#7#7'tpRi'
+'ght'#0#12'TGradTabPage'#12'GradTabPage4'#4'Left'#2#2#6'Height'#3'K'#2#3'Top'
+#2#2#5'Width'#3#218#0#12'ControlState'#11#21'csVisibleSetInLoading'#0#12'Con'
+'trolStyle'#11#17'csAcceptsControls'#14'csCaptureMouse'#13'csClickEvents'#12
+'csSetCaption'#14'csDoubleClicks'#17'csNoDesignVisible'#19'csDesignFixedBoun'
+'ds'#20'csNoDesignSelectable'#0#10'TabVisible'#8#7'Caption'#6#24'GradTabPage'
+'4wewwerwerwer'#0#8'TSynEdit'#8'SynEdit1'#6'Height'#3'K'#2#5'Width'#3#218#0#5
+'Align'#7#8'alClient'#11'Font.Height'#2#12#9'Font.Name'#6#7'Courier'#10'Font'
+'.Pitch'#7#7'fpFixed'#11'ParentColor'#8#8'TabOrder'#2#0#24'BookMarkOptions.O'
+'nChange'#13#11'Highlighter'#7#10'SynPHPSyn1'#10'Keystrokes'#14#1#7'Command'
+#2#3#8'ShortCut'#2'&'#0#1#7'Command'#2'g'#8'ShortCut'#3'& '#0#1#7'Command'#3
+#211#0#8'ShortCut'#3'&@'#0#1#7'Command'#2#4#8'ShortCut'#2'('#0#1#7'Command'#2
+'h'#8'ShortCut'#3'( '#0#1#7'Command'#3#212#0#8'ShortCut'#3'(@'#0#1#7'Command'
+#2#1#8'ShortCut'#2'%'#0#1#7'Command'#2'e'#8'ShortCut'#3'% '#0#1#7'Command'#2
+#5#8'ShortCut'#3'%@'#0#1#7'Command'#2'i'#8'ShortCut'#3'%`'#0#1#7'Command'#2#2
+#8'ShortCut'#2''''#0#1#7'Command'#2'f'#8'ShortCut'#3''' '#0#1#7'Command'#2#6
+#8'ShortCut'#3'''@'#0#1#7'Command'#2'j'#8'ShortCut'#3'''`'#0#1#7'Command'#2
+#10#8'ShortCut'#2'"'#0#1#7'Command'#2'n'#8'ShortCut'#3'" '#0#1#7'Command'#2
,#14#8'ShortCut'#3'"@'#0#1#7'Command'#2'r'#8'ShortCut'#3'"`'#0#1#7'Command'#2
+#9#8'ShortCut'#2'!'#0#1#7'Command'#2'm'#8'ShortCut'#3'! '#0#1#7'Command'#2#13
+#8'ShortCut'#3'!@'#0#1#7'Command'#2'q'#8'ShortCut'#3'!`'#0#1#7'Command'#2#7#8
+'ShortCut'#2'$'#0#1#7'Command'#2'k'#8'ShortCut'#3'$ '#0#1#7'Command'#2#15#8
+'ShortCut'#3'$@'#0#1#7'Command'#2's'#8'ShortCut'#3'$`'#0#1#7'Command'#2#8#8
+'ShortCut'#2'#'#0#1#7'Command'#2'l'#8'ShortCut'#3'# '#0#1#7'Command'#2#16#8
+'ShortCut'#3'#@'#0#1#7'Command'#2't'#8'ShortCut'#3'#`'#0#1#7'Command'#3#223#0
+#8'ShortCut'#2'-'#0#1#7'Command'#3#201#0#8'ShortCut'#3'-@'#0#1#7'Command'#3
+'\'#2#8'ShortCut'#3'- '#0#1#7'Command'#3#246#1#8'ShortCut'#2'.'#0#1#7'Comman'
+'d'#3'['#2#8'ShortCut'#3'. '#0#1#7'Command'#3#245#1#8'ShortCut'#2#8#0#1#7'Co'
+'mmand'#3#245#1#8'ShortCut'#3#8' '#0#1#7'Command'#3#248#1#8'ShortCut'#3#8'@'
+#0#1#7'Command'#3'Y'#2#8'ShortCut'#4#8#128#0#0#0#1#7'Command'#3'Z'#2#8'Short'
+'Cut'#4#8#160#0#0#0#1#7'Command'#3#253#1#8'ShortCut'#2#13#0#1#7'Command'#3
+#199#0#8'ShortCut'#3'A@'#0#1#7'Command'#3#201#0#8'ShortCut'#3'C@'#0#1#7'Comm'
+'and'#3'b'#2#8'ShortCut'#3'I`'#0#1#7'Command'#3#253#1#8'ShortCut'#3'M@'#0#1#7
+'Command'#3#254#1#8'ShortCut'#3'N@'#0#1#7'Command'#3#247#1#8'ShortCut'#3'T@'
+#0#1#7'Command'#3'c'#2#8'ShortCut'#3'U`'#0#1#7'Command'#3'\'#2#8'ShortCut'#3
+'V@'#0#1#7'Command'#3'['#2#8'ShortCut'#3'X@'#0#1#7'Command'#3#251#1#8'ShortC'
+'ut'#3'Y@'#0#1#7'Command'#3#250#1#8'ShortCut'#3'Y`'#0#1#7'Command'#3'Y'#2#8
+'ShortCut'#3'Z@'#0#1#7'Command'#3'Z'#2#8'ShortCut'#3'Z`'#0#1#7'Command'#3'-'
+#1#8'ShortCut'#3'0@'#0#1#7'Command'#3'.'#1#8'ShortCut'#3'1@'#0#1#7'Command'#3
+'/'#1#8'ShortCut'#3'2@'#0#1#7'Command'#3'0'#1#8'ShortCut'#3'3@'#0#1#7'Comman'
+'d'#3'1'#1#8'ShortCut'#3'4@'#0#1#7'Command'#3'2'#1#8'ShortCut'#3'5@'#0#1#7'C'
+'ommand'#3'3'#1#8'ShortCut'#3'6@'#0#1#7'Command'#3'4'#1#8'ShortCut'#3'7@'#0#1
+#7'Command'#3'5'#1#8'ShortCut'#3'8@'#0#1#7'Command'#3'6'#1#8'ShortCut'#3'9@'
+#0#1#7'Command'#3'_'#1#8'ShortCut'#3'0`'#0#1#7'Command'#3'`'#1#8'ShortCut'#3
+'1`'#0#1#7'Command'#3'a'#1#8'ShortCut'#3'2`'#0#1#7'Command'#3'b'#1#8'ShortCu'
+'t'#3'3`'#0#1#7'Command'#3'c'#1#8'ShortCut'#3'4`'#0#1#7'Command'#3'd'#1#8'Sh'
+'ortCut'#3'5`'#0#1#7'Command'#3'e'#1#8'ShortCut'#3'6`'#0#1#7'Command'#3'f'#1
+#8'ShortCut'#3'7`'#0#1#7'Command'#3'g'#1#8'ShortCut'#3'8`'#0#1#7'Command'#3
+'h'#1#8'ShortCut'#3'9`'#0#1#7'Command'#3#231#0#8'ShortCut'#3'N`'#0#1#7'Comma'
+'nd'#3#232#0#8'ShortCut'#3'C`'#0#1#7'Command'#3#233#0#8'ShortCut'#3'L`'#0#1#7
+'Command'#3'd'#2#8'ShortCut'#2#9#0#1#7'Command'#3'e'#2#8'ShortCut'#3#9' '#0#1
+#7'Command'#3#250#0#8'ShortCut'#3'B`'#0#0#13'Lines.Strings'#1#6#2'<?'#6#0#6
+#14'echo "string";'#6#0#6#2'?>'#0#22'SelectedColor.OnChange'#13#0#0#0#12'TGr'
+'adTabPage'#12'GradTabPage5'#4'Left'#2#2#6'Height'#3#244#1#3'Top'#2#2#5'Widt'
+'h'#3#218#0#12'ControlState'#11#21'csVisibleSetInLoading'#0#12'ControlStyle'
+#11#17'csAcceptsControls'#14'csCaptureMouse'#13'csClickEvents'#12'csSetCapti'
+'on'#14'csDoubleClicks'#19'csDesignFixedBounds'#0#9'PageIndex'#2#1#7'Caption'
+#6#12'GradTabPage5'#15'ShowCloseButton'#9#0#11'TStringGrid'#11'StringGrid1'#6
+'Height'#3#244#1#5'Width'#3#218#0#5'Align'#7#8'alClient'#8'ColCount'#2#5#14
+'ExtendedSelect'#9#10'FixedColor'#7#9'clBtnFace'#7'Options'#11#15'goFixedVer'
+'tLine'#15'goFixedHorzLine'#10'goVertLine'#10'goHorzLine'#13'goRangeSelect'
+#14'goSmoothScroll'#0#8'RowCount'#2#5#8'TabOrder'#2#0#0#0#0#0#15'TGradTabCon'
+'trol'#15'GradTabControl3'#4'Left'#3#128#2#6'Height'#3#248#1#3'Top'#2#1#5'Wi'
+'dth'#2'v'#5'Align'#7#7'alRight'#12'ControlStyle'#11#17'csAcceptsControls'#0
+#10'ActivePage'#7#12'GradTabPage6'#9'PageIndex'#2#1#9'TabHeight'#2#30#11'Tab'
+'Position'#7#6'tpLeft'#0#12'TGradTabPage'#12'GradTabPage7'#4'Left'#2' '#6'He'
+'ight'#3#244#1#3'Top'#2#2#5'Width'#2'T'#12'ControlState'#11#21'csVisibleSetI'
+'nLoading'#0#12'ControlStyle'#11#17'csAcceptsControls'#14'csCaptureMouse'#13
+'csClickEvents'#12'csSetCaption'#14'csDoubleClicks'#17'csNoDesignVisible'#19
+'csDesignFixedBounds'#20'csNoDesignSelectable'#0#7'Caption'#6#12'GradTabPage'
+'7'#0#0#12'TGradTabPage'#12'GradTabPage6'#4'Left'#2' '#6'Height'#3#244#1#3'T'
+'op'#2#2#5'Width'#2'T'#12'ControlState'#11#21'csVisibleSetInLoading'#0#12'Co'
+'ntrolStyle'#11#17'csAcceptsControls'#14'csCaptureMouse'#13'csClickEvents'#12
+'csSetCaption'#14'csDoubleClicks'#19'csDesignFixedBounds'#0#9'PageIndex'#2#1
+#7'Caption'#6#12'GradTabPage6'#15'ShowCloseButton'#9#0#0#0#0#6'TPanel'#6'Pan'
+'el2'#4'Left'#3#252#2#6'Height'#3#250#1#5'Width'#3#134#0#5'Align'#7#8'alClie'
+'nt'#7'Caption'#6#6'Panel2'#12'ClientHeight'#3#250#1#11'ClientWidth'#3#134#0
+#8'TabOrder'#2#2#0#9'TComboBox'#9'ComboBox1'#4'Left'#2#16#6'Height'#2#21#3'T'
+'op'#2#16#5'Width'#2'd'#16'AutoCompleteText'#11#22'cbactEndOfLineComplete'#20
+'cbactSearchAscending'#0#10'ItemHeight'#2#13#8'OnChange'#7#15'ComboBox1Chang'
+'e'#5'Style'#7#14'csDropDownList'#8'TabOrder'#2#0#0#0#11'TGradButton'#11'Gra'
+'dButton3'#4'Left'#2#16#6'Height'#2#25#3'Top'#2'0'#5'Width'#2'd'#7'Caption'#6
,#3'Add'#7'OnClick'#7#16'GradButton3Click'#8'TabOrder'#2#1#7'TabStop'#9#11'No'
+'rmalBlend'#5#0#0#0#0#0#0#0#128#254'?'#9'OverBlend'#5'5^'#186'I'#12#2'+'#167
+#254'?'#9'BaseColor'#7#6'clBlue'#5'Color'#7#6'clBlue'#16'NormalBlendColor'#7
+#7'clWhite'#14'OverBlendColor'#7#8'clSilver'#15'BackgroundColor'#7#9'clBtnFa'
+'ce'#11'BorderSides'#11#9'bsTopLine'#12'bsBottomLine'#10'bsLeftLine'#11'bsRi'
+'ghtLine'#0#15'ShowFocusBorder'#9#10'Glyph.Data'#10'>'#0#0#0':'#0#0#0'BM:'#0
+#0#0#0#0#0#0'6'#0#0#0'('#0#0#0#1#0#0#0#1#0#0#0#1#0#24#0#0#0#0#0#4#0#0#0'd'#0
+#0#0'd'#0#0#0#0#0#0#0#0#0#0#0#252#143#229#0#20'GlyphBackgroundColor'#7#7'clW'
+'hite'#10'ClickColor'#7#6'clBlue'#0#0#11'TGradButton'#11'GradButton4'#4'Left'
+#2#16#6'Height'#2#25#3'Top'#2'p'#5'Width'#2'd'#7'Caption'#6#6'Delete'#7'OnCl'
+'ick'#7#16'GradButton4Click'#8'TabOrder'#2#2#7'TabStop'#9#11'NormalBlend'#5#0
+#0#0#0#0#0#0#128#254'?'#9'OverBlend'#5'5^'#186'I'#12#2'+'#167#254'?'#9'BaseC'
+'olor'#7#6'clBlue'#5'Color'#7#6'clBlue'#16'NormalBlendColor'#7#7'clWhite'#14
+'OverBlendColor'#7#8'clSilver'#15'BackgroundColor'#7#9'clBtnFace'#11'BorderS'
+'ides'#11#9'bsTopLine'#12'bsBottomLine'#10'bsLeftLine'#11'bsRightLine'#0#15
+'ShowFocusBorder'#9#10'Glyph.Data'#10'>'#0#0#0':'#0#0#0'BM:'#0#0#0#0#0#0#0'6'
+#0#0#0'('#0#0#0#1#0#0#0#1#0#0#0#1#0#24#0#0#0#0#0#4#0#0#0'd'#0#0#0'd'#0#0#0#0
+#0#0#0#0#0#0#0#172#164#229#0#20'GlyphBackgroundColor'#7#7'clWhite'#10'ClickC'
+'olor'#7#6'clBlue'#0#0#11'TGradButton'#11'GradButton2'#4'Left'#2#16#6'Height'
+#2#25#3'Top'#2'P'#5'Width'#2'd'#7'Caption'#6#15'Add Custom Page'#7'OnClick'#7
+#16'GradButton2Click'#8'TabOrder'#2#3#7'TabStop'#9#11'NormalBlend'#5#0#0#0#0
+#0#0#0#128#254'?'#9'OverBlend'#5'5^'#186'I'#12#2'+'#167#254'?'#9'BaseColor'#7
+#6'clBlue'#5'Color'#7#6'clBlue'#16'NormalBlendColor'#7#7'clWhite'#14'OverBle'
+'ndColor'#7#8'clSilver'#15'BackgroundColor'#7#9'clBtnFace'#11'BorderSides'#11
+#9'bsTopLine'#12'bsBottomLine'#10'bsLeftLine'#11'bsRightLine'#0#15'ShowFocus'
+'Border'#9#10'Glyph.Data'#10'>'#0#0#0':'#0#0#0'BM:'#0#0#0#0#0#0#0'6'#0#0#0'('
+#0#0#0#1#0#0#0#1#0#0#0#1#0#24#0#0#0#0#0#4#0#0#0'd'#0#0#0'd'#0#0#0#0#0#0#0#0#0
+#0#0#140'D'#7#0#20'GlyphBackgroundColor'#7#7'clWhite'#10'ClickColor'#7#6'clB'
+'lue'#0#0#11'TRadioGroup'#11'RadioGroup1'#4'Left'#2#16#6'Height'#2'q'#3'Top'
+#3#152#0#5'Width'#2'd'#8'AutoFill'#9#7'Caption'#6#12'Tab Position'#28'ChildS'
+'izing.LeftRightSpacing'#2#6#28'ChildSizing.TopBottomSpacing'#2#6#29'ChildSi'
+'zing.EnlargeHorizontal'#7#24'crsHomogenousChildResize'#27'ChildSizing.Enlar'
+'geVertical'#7#24'crsHomogenousChildResize'#28'ChildSizing.ShrinkHorizontal'
+#7#14'crsScaleChilds'#26'ChildSizing.ShrinkVertical'#7#14'crsScaleChilds'#18
+'ChildSizing.Layout'#7#29'cclLeftToRightThenTopToBottom'#27'ChildSizing.Cont'
+'rolsPerLine'#2#1#12'ClientHeight'#2'_'#11'ClientWidth'#2'`'#9'ItemIndex'#2#0
+#13'Items.Strings'#1#6#5'tpTop'#6#8'tpBottom'#6#6'tpLeft'#6#7'tpRight'#0#7'O'
+'nClick'#7#16'RadioGroup1Click'#8'TabOrder'#2#4#0#0#9'TCheckBox'#9'CheckBox1'
+#4'Left'#2#15#6'Height'#2#19#3'Top'#3#20#1#5'Width'#2'K'#7'Caption'#6#9'Long'
+' Tabs'#7'OnClick'#7#14'CheckBox1Click'#8'TabOrder'#2#5#0#0#9'TSpinEdit'#9'S'
+'pinEdit1'#4'Left'#2'_'#6'Height'#2#19#3'Top'#3#20#1#5'Width'#2'"'#8'MaxValu'
+'e'#2'2'#13'OnEditingDone'#7#20'SpinEdit1EditingDone'#8'TabOrder'#2#6#5'Valu'
+'e'#2'2'#0#0#6'TArrow'#6'Arrow1'#4'Left'#2#31#6'Height'#2#10#3'Top'#3#200#1#5
+'Width'#2#10#0#0#11'TGradButton'#11'GradButton5'#4'Left'#2','#6'Height'#2#24
+#3'Top'#3'P'#1#5'Width'#2#24#7'Caption'#6#1'X'#9'Font.Name'#6#6'System'#10'F'
+'ont.Style'#11#6'fsBold'#0#8'TabOrder'#2#8#7'TabStop'#9#11'NormalBlend'#5#0#0
+#0#0#0#0#0#128#254'?'#9'OverBlend'#5'5^'#186'I'#12#2'+'#167#254'?'#9'BaseCol'
+'or'#7#9'clBtnFace'#5'Color'#7#9'clBtnFace'#16'NormalBlendColor'#7#9'clBtnFa'
+'ce'#14'OverBlendColor'#7#7'clWhite'#15'BackgroundColor'#7#9'clBtnFace'#9'Au'
+'toWidth'#9#11'BorderSides'#11#9'bsTopLine'#12'bsBottomLine'#10'bsLeftLine'
+#11'bsRightLine'#0#15'ShowFocusBorder'#9#15'RotateDirection'#7#7'rdRight'#10
+'Glyph.Data'#10'>'#0#0#0':'#0#0#0'BM:'#0#0#0#0#0#0#0'6'#0#0#0'('#0#0#0#1#0#0
+#0#1#0#0#0#1#0#24#0#0#0#0#0#4#0#0#0'd'#0#0#0'd'#0#0#0#0#0#0#0#0#0#0#0#252#207
+#225#0#20'GlyphBackgroundColor'#7#7'clWhite'#10'ClickColor'#7#9'clBtnFace'#0
+#0#10'TScrollBox'#10'ScrollBox1'#4'Left'#2#228#6'Height'#3#150#0#3'Top'#3'P' +#0#10'TScrollBox'#10'ScrollBox1'#4'Left'#2#228#6'Height'#3#150#0#3'Top'#3'P'
+#1#5'Width'#3#150#0#18'HorzScrollBar.Page'#3#145#0#18'VertScrollBar.Page'#3 +#1#5'Width'#3#150#0#18'HorzScrollBar.Page'#3#145#0#18'VertScrollBar.Page'#3
+#145#0#10'AutoScroll'#8#8'TabOrder'#2#9#0#0#0#9'TSplitter'#9'Splitter1'#4'Le' +#145#0#10'AutoScroll'#8#8'TabOrder'#2#3#0#0#0#9'TSplitter'#9'Splitter1'#4'Le'
+'ft'#3#247#2#6'Height'#3#250#1#5'Width'#2#5#0#0#10'TPopupMenu'#10'PopupMenu1' +'ft'#3#143#2#6'Height'#3#250#1#5'Width'#2#5#0#0#10'TPopupMenu'#10'PopupMenu1'
+#4'left'#3#222#2#3'top'#3#141#1#0#9'TMenuItem'#9'MenuItem1'#7'Caption'#6#9'N' +#4'left'#3#222#2#3'top'#3#141#1#0#9'TMenuItem'#9'MenuItem1'#7'Caption'#6#9'N'
+'ew Item1'#0#0#0#10'TSynPHPSyn'#10'SynPHPSyn1'#13'DefaultFilter'#6'CPHP-Date' +'ew Item1'#0#0#0#10'TSynPHPSyn'#10'SynPHPSyn1'#13'DefaultFilter'#6'CPHP-Date'
+'ien (*.php,*.php3,*.phtml,*.inc)|*.php;*.php3;*.phtml;*.inc'#7'Enabled'#8#4 +'ien (*.php,*.php3,*.phtml,*.inc)|*.php;*.php3;*.phtml;*.inc'#7'Enabled'#8#4

View File

@ -45,25 +45,15 @@ type
CheckBox1: TCheckBox; CheckBox1: TCheckBox;
ComboBox1: TComboBox; ComboBox1: TComboBox;
Edit1: TEdit; Edit1: TEdit;
GradButton1: TGradButton;
GradButton2: TGradButton;
GradButton3: TGradButton;
GradButton4: TGradButton;
GradButton5: TGradButton;
GradTabControl1: TGradTabControl; GradTabControl1: TGradTabControl;
GradTabControl2: TGradTabControl;
GradTabControl3: TGradTabControl;
GradTabPage1: TGradTabPage; GradTabPage1: TGradTabPage;
GradTabPage2: TGradTabPage; GradTabPage2: TGradTabPage;
GradTabPage3: TGradTabPage;
GradTabPage4: TGradTabPage;
GradTabPage5: TGradTabPage;
GradTabPage6: TGradTabPage;
GradTabPage7: TGradTabPage;
Memo1: TMemo; Memo1: TMemo;
Memo2: TMemo;
MenuItem1: TMenuItem; MenuItem1: TMenuItem;
Panel1: TPanel; Panel1: TPanel;
Panel2: TPanel; Panel2: TPanel;
Panel3: TPanel;
PopupMenu1: TPopupMenu; PopupMenu1: TPopupMenu;
RadioGroup1: TRadioGroup; RadioGroup1: TRadioGroup;
ScrollBox1: TScrollBox; ScrollBox1: TScrollBox;

View File

@ -57,15 +57,16 @@
</Units> </Units>
</ProjectOptions> </ProjectOptions>
<CompilerOptions> <CompilerOptions>
<Version Value="5"/> <Version Value="8"/>
<PathDelim Value="\"/> <PathDelim Value="\"/>
<SearchPaths> <SearchPaths>
<OtherUnitFiles Value="Forms\"/> <OtherUnitFiles Value="Forms\"/>
</SearchPaths> </SearchPaths>
<CodeGeneration> <CodeGeneration>
<Generate Value="Faster"/> <SmartLinkUnit Value="True"/>
</CodeGeneration> </CodeGeneration>
<Linking> <Linking>
<LinkSmart Value="True"/>
<Options> <Options>
<Win32> <Win32>
<GraphicApplication Value="True"/> <GraphicApplication Value="True"/>

View File

@ -15,7 +15,7 @@
<VersionInfo> <VersionInfo>
<UseVersionInfo Value="True"/> <UseVersionInfo Value="True"/>
<AutoIncrementBuild Value="True"/> <AutoIncrementBuild Value="True"/>
<CurrentBuildNr Value="508"/> <CurrentBuildNr Value="509"/>
<ProjectVersion Value="0.0.0.0"/> <ProjectVersion Value="0.0.0.0"/>
</VersionInfo> </VersionInfo>
<PublishOptions> <PublishOptions>
@ -68,14 +68,11 @@
</Units> </Units>
</ProjectOptions> </ProjectOptions>
<CompilerOptions> <CompilerOptions>
<Version Value="5"/> <Version Value="8"/>
<PathDelim Value="\"/> <PathDelim Value="\"/>
<SearchPaths> <SearchPaths>
<OtherUnitFiles Value="Forms\"/> <OtherUnitFiles Value="Forms\"/>
</SearchPaths> </SearchPaths>
<CodeGeneration>
<Generate Value="Faster"/>
</CodeGeneration>
<Linking> <Linking>
<Options> <Options>
<Win32> <Win32>

View File

@ -1,6 +1,5 @@
{ Diese Datei wurde automatisch von Lazarus erzeugt. Sie darf nicht bearbeitet { This file was automatically created by Lazarus. do not edit!
werden! This source is only used to compile and install the package.
Dieser Quelltext dient nur dem Übersetzen und Installieren des Packages.
} }
unit gradbutton; unit gradbutton;
@ -8,7 +7,7 @@ unit gradbutton;
interface interface
uses uses
ugradbtn, urotatebitmap, LazarusPackageIntf; ugradbtn, uRotateBitmap, LazarusPackageIntf;
implementation implementation

View File

@ -21,8 +21,6 @@ uses
type type
TGradButton = class; TGradButton = class;
TRotateDirection = urotatebitmap.TRotateDirection;
TTextAlignment = (taLeftJustify, taRightJustify, taCenter); TTextAlignment = (taLeftJustify, taRightJustify, taCenter);
TBorderSide = (bsTopLine, bsBottomLine, bsLeftLine, bsRightLine); TBorderSide = (bsTopLine, bsBottomLine, bsLeftLine, bsRightLine);
TBorderSides = set of TBorderSide; TBorderSides = set of TBorderSide;
@ -40,7 +38,7 @@ type
FButtonLayout: TButtonLayout; FButtonLayout: TButtonLayout;
FTextPoint, FGlyphPoint : TPoint; FTextPoint, FGlyphPoint : TPoint;
FTextSize, FGlyphSize : TSize; FTextSize, FGlyphSize : TSize;
FBackground, bm, FGlyph, FBackground, bm,
FNormalBackgroundCache, FHotBackgroundCache, FNormalBackgroundCache, FHotBackgroundCache,
FDownBackgroundCache, FDisabledBackgroundCache : TBitmap; FDownBackgroundCache, FDisabledBackgroundCache : TBitmap;
FRotatedGlyph : TRotatedGlyph; FRotatedGlyph : TRotatedGlyph;
@ -55,7 +53,6 @@ type
FOnDownBackgroundPaint, FOnDisabledBackgroundPaint : TGBBackgroundPaintEvent; FOnDownBackgroundPaint, FOnDisabledBackgroundPaint : TGBBackgroundPaintEvent;
procedure PaintGradient(TrgCanvas: TCanvas; pr : TRect); procedure PaintGradient(TrgCanvas: TCanvas; pr : TRect);
procedure UpdateText; procedure UpdateText;
procedure UpdateGlyph;
procedure UpdateBackground; procedure UpdateBackground;
procedure PaintBackground(AState: TButtonState; TrgBitmap: TBitmap); procedure PaintBackground(AState: TButtonState; TrgBitmap: TBitmap);
protected protected
@ -65,6 +62,7 @@ type
FBackgroundColor, FGlyphBackgroundColor, FClickColor: TColor; FBackgroundColor, FGlyphBackgroundColor, FClickColor: TColor;
procedure InvPaint(StateCheck:Boolean=false); procedure InvPaint(StateCheck:Boolean=false);
procedure FontChanged(Sender: TObject); override; procedure FontChanged(Sender: TObject); override;
procedure GlyphChanged(Sender: TObject);
procedure GetBackgroundRect(var TheRect : TRect); procedure GetBackgroundRect(var TheRect : TRect);
function GetGlyph : TBitmap; function GetGlyph : TBitmap;
procedure SetEnabled(Value: Boolean); override; procedure SetEnabled(Value: Boolean); override;
@ -200,13 +198,7 @@ end;
procedure TGradButton.SetGlyph(const Value: TBitmap); procedure TGradButton.SetGlyph(const Value: TBitmap);
begin begin
//FGlyph.Clear; FRotatedGlyph.Bitmap := Value;
//FGlyph.Assign(Value);
FRotatedGlyph.Glyph := FGlyph;
//FRotatedGlyph.Update;
//UpdateGlyph;
end; end;
procedure TGradButton.TextChanged; procedure TGradButton.TextChanged;
@ -240,11 +232,11 @@ end;
procedure TGradButton.UpdateText; procedure TGradButton.UpdateText;
begin begin
UpdatePositions; //UpdatePositions;
FRotatedText.Canvas.Font.Color := Canvas.Font.Color; //FRotatedText.Canvas.Font.Color := Canvas.Font.Color;
FRotatedText.Canvas.Font := Canvas.Font; //FRotatedText.Canvas.Font := Canvas.Font;
FRotatedText.Update; //FRotatedText.Update;
end; end;
procedure TGradButton.SetAutoWidth(const Value : Boolean); procedure TGradButton.SetAutoWidth(const Value : Boolean);
@ -254,11 +246,6 @@ begin
UpdateButton; UpdateButton;
end; end;
procedure TGradButton.UpdateGlyph;
begin
//
end;
procedure TGradButton.Resize; procedure TGradButton.Resize;
begin begin
if (HasParent) then if (HasParent) then
@ -290,7 +277,7 @@ begin
tempGS.cx:=0; tempGS.cx:=0;
tempGS.cy:=0; tempGS.cy:=0;
if FShowGlyph then if FShowGlyph and not FRotatedGlyph.Empty then
begin begin
tempGS.cx:=FRotatedGlyph.Width; tempGS.cx:=FRotatedGlyph.Width;
tempGS.cy:=FRotatedGlyph.Height; tempGS.cy:=FRotatedGlyph.Height;
@ -320,7 +307,7 @@ begin
tempGS.cy := p; tempGS.cy := p;
end; } end; }
if FShowGlyph then begin if FShowGlyph and not FRotatedGlyph.Empty then begin
case tempBL of case tempBL of
blGlyphLeft: begin blGlyphLeft: begin
FGlyphPoint.x := AlignItem(tempGS.cx+FTextGlyphSpacing+tempTS.cx,AreaWidth,4,FTextAlignment); FGlyphPoint.x := AlignItem(tempGS.cx+FTextGlyphSpacing+tempTS.cx,AreaWidth,4,FTextAlignment);
@ -550,7 +537,7 @@ end;
function TGradButton.GetGlyph : TBitmap; function TGradButton.GetGlyph : TBitmap;
begin begin
Result := FRotatedGlyph.Glyph; Result := FRotatedGlyph.Bitmap;
end; end;
procedure TGradButton.SetDisabledColor(const Value: TColor); procedure TGradButton.SetDisabledColor(const Value: TColor);
@ -583,7 +570,8 @@ end;
procedure TGradButton.SetGlyphBackgroundColor(const Value: TColor); procedure TGradButton.SetGlyphBackgroundColor(const Value: TColor);
begin begin
FGlyphBackgroundColor:=Value; FGlyphBackgroundColor:=Value;
FRotatedGlyph.TransparentColor:=Value; //todo: see the desired behavior of GlyphBackgroundColor
//FRotatedGlyph.TransparentColor:=Value;
InvPaint; InvPaint;
end; end;
@ -653,17 +641,15 @@ begin
UpdateBackground; UpdateBackground;
UpdateText; UpdateText;
UpdateGlyph;
UpdatePositions; UpdatePositions;
end; end;
procedure TGradButton.SetShowGlyph(const Value: Boolean); procedure TGradButton.SetShowGlyph(const Value: Boolean);
begin begin
if FShowGlyph <> Value then if (FShowGlyph <> Value) AND FRotatedGlyph.IsBitmapStored then
begin begin
FShowGlyph:=Value; FShowGlyph:=Value;
UpdateGlyph;
UpdatePositions; UpdatePositions;
InvPaint; InvPaint;
@ -675,9 +661,8 @@ begin
FRotateDirection:=Value; FRotateDirection:=Value;
//Rotate and Cache //Rotate and Cache
FRotatedText.RotateDirection:=FRotateDirection; FRotatedText.Direction:=FRotateDirection;
if FShowGlyph then FRotatedGlyph.Direction:=FRotateDirection;
FRotatedGlyph.RotateDirection:=FRotateDirection;
UpdatePositions; UpdatePositions;
@ -829,8 +814,9 @@ begin
Height:=Self.Height; Height:=Self.Height;
end; end;
//FGlyph := TBitmap.Create;
FRotatedGlyph := TRotatedGlyph.Create; FRotatedGlyph := TRotatedGlyph.Create;
FRotatedGlyph.OnChange := @GlyphChanged;
FRotatedText := TRotatedText.Create; FRotatedText := TRotatedText.Create;
FButtonLayout:=blGlyphLeft; FButtonLayout:=blGlyphLeft;
FGlyphBackgroundColor:=clWhite; FGlyphBackgroundColor:=clWhite;
@ -854,8 +840,6 @@ begin
bm.Free; bm.Free;
DebugLn('FRotatedGlyph.Free'); DebugLn('FRotatedGlyph.Free');
FRotatedGlyph.Free; FRotatedGlyph.Free;
//DebugLn('FGlyph.Free');
//if Assigned(FGlyph) then FGlyph.Free;
DebugLn('FRotatedText.Free'); DebugLn('FRotatedText.Free');
FRotatedText.Free; FRotatedText.Free;
DebugLn('FBackground.Free'); DebugLn('FBackground.Free');
@ -954,23 +938,24 @@ begin
if doIt then if doIt then
begin begin
FOldState:=FState; FOldState:=FState;
if csDesigning in ComponentState then Invalidate;
begin
Invalidate;
end else begin
Paint;
end;
end; end;
end; end;
procedure TGradButton.FontChanged(Sender: TObject); procedure TGradButton.FontChanged(Sender: TObject);
begin begin
inherited FontChanged(Sender); inherited FontChanged(Sender);
FRotatedText.Canvas.Font := Font;
FRotatedText.Update; FRotatedText.Font := Font;
UpdatePositions; UpdatePositions;
end; end;
procedure TGradButton.GlyphChanged(Sender: TObject);
begin
UpdatePositions;
Invalidate;
end;
procedure TGradButton.DoEnter; procedure TGradButton.DoEnter;
begin begin
FState:=bsHot; FState:=bsHot;
@ -1037,9 +1022,9 @@ begin
end; end;
if Caption <> '' then if Caption <> '' then
FRotatedText.Draw(FTextPoint.x+p, FTextPoint.y+p, bm); FRotatedText.Draw(bm.Canvas, FTextPoint.x+p, FTextPoint.y+p);
if FShowGlyph then if FShowGlyph AND FRotatedGlyph.IsBitmapStored then
begin begin
if not FEnabled then if not FEnabled then
tempState := bsDisabled tempState := bsDisabled
@ -1047,7 +1032,7 @@ begin
tempState := FState; tempState := FState;
FRotatedGlyph.State:=tempState; FRotatedGlyph.State:=tempState;
FRotatedGlyph.Draw(FGlyphPoint.x+p, FGlyphPoint.y+p, bm, FGlyphBackgroundColor); FRotatedGlyph.Draw(bm.Canvas, FGlyphPoint.x+p, FGlyphPoint.y+p);
end; end;
if not (csDesigning in ComponentState) then if not (csDesigning in ComponentState) then

View File

@ -70,8 +70,8 @@ type
property TabButton : TGradTabPageButton read FButton; property TabButton : TGradTabPageButton read FButton;
function VisibleIndex: integer; function VisibleIndex: integer;
published published
property ControlState; //property ControlState;
property ControlStyle; //property ControlStyle;
property TabVisible : Boolean read FTabVisible write SetTabVisible default true; property TabVisible : Boolean read FTabVisible write SetTabVisible default true;
property PageIndex : Integer read GetPageIndex write SetPageIndex; property PageIndex : Integer read GetPageIndex write SetPageIndex;
property Caption : TCaption read GetText write SetText; property Caption : TCaption read GetText write SetText;
@ -1169,6 +1169,9 @@ begin
FPagesBar.Top:=0; FPagesBar.Top:=0;
FPagesBar.Width:=FBar.Width; FPagesBar.Width:=FBar.Width;
FPagesBar.Height:=FBar.Height; FPagesBar.Height:=FBar.Height;
Height:=200;
Width:=200;
end; end;
{------------------------------------------------------------------------------ {------------------------------------------------------------------------------
@ -1409,7 +1412,7 @@ begin
if (Index<0) or (Index>=fPageList.Count) then Exit; if (Index<0) or (Index>=fPageList.Count) then Exit;
FPagesBar.UnFocusButton(Index); FPagesBar.UnFocusButton(Index);
//UpdateDesignerFlags(Index); UpdateDesignerFlags(Index);
with TGradTabPage(FPageList.Items[Index]) do with TGradTabPage(FPageList.Items[Index]) do
Visible:=false; Visible:=false;

View File

@ -1,475 +1,333 @@
unit urotatebitmap; unit uRotateBitmap;
{$mode objfpc}{$H+} {$mode objfpc}{$H+}
interface interface
uses uses
Classes, SysUtils, Graphics, Buttons, LCLType, Classes, SysUtils, Graphics, Buttons, LCLType, IntfGraphics, Types;
IntfGraphics, fpImage, LCLIntf, Types;
type type
TRotateDirection = (rdRight, rdNormal, rdLeft);
TRotatedBitmap = class( TObject ) TRotateDirection = (rdNormal, rdRight, rdLeft);
private
FNormalImage, FRotatedImage : TLazIntfImage;
FRotateTo : TRotateDirection;
function GetBitmap : TBitmap;
procedure SetRotateTo(const Value : TRotateDirection);
procedure DoRotate;
protected
function GetWidth : Integer;
function GetHeight : Integer;
public
constructor Create; virtual;
destructor Destroy; override;
procedure Free;
procedure LoadBitmap(var b : TBitmap);
//property Bitmap : TBitmap read GetBitmap;
property Image : TLazIntfImage read FRotatedImage;
property RotateDirection : TRotateDirection read FRotateTo write SetRotateTo;
procedure Draw(X,Y: Integer;var b : TBitmap); virtual;
procedure Draw(X,Y: Integer;var b : TLazIntfImage); virtual;
procedure Draw(X,Y: Integer;var b : TBitmap;
TransparentColor : TColor); virtual;
procedure Draw(X,Y: Integer;var b : TLazIntfImage;
TransparentColor : TFPColor); virtual;
property Width : Integer read GetWidth;
property Height : Integer read GetHeight;
end;
TRotatedGlyph = class(TRotatedBitmap) { TCustomRotatedBitmap }
private
FNormalGlyphBitmap : TBitmap;
FNormalGlyph : TButtonGlyph;
FTransparentColor : TColor;
FButtonState : TButtonState;
function GetGlyph : TBitmap;
procedure SetGlyph(Value: TBitmap);
procedure SetButtonState(Value: TButtonState);
procedure SetTransparentColor(Value: TColor);
public
constructor Create; override;
destructor Destroy; override;
procedure Draw(X,Y: Integer;var b : TBitmap;
TransparentColor : TColor); override;
procedure Draw(X, Y: Integer; var b: TLazIntfImage;
TransparentColor: TFPColor); override;
procedure Update;
property State : TButtonState read FButtonState write SetButtonState;
property Glyph : TBitmap read GetGlyph write SetGlyph;
property TransparentColor: TColor read FTransparentColor write SetTransparentColor;
end;
TRotatedText = class(TRotatedBitmap) TCustomRotatedBitmap = class
private private
FBitmap : TBitmap; FActiveBitmap: TBitmap;
FText : String; FDirection: TRotateDirection;
procedure SetText(const Value: String); FNormalBitmap: TBitmap;
function GetCanvas : TCanvas; FRotatedBitmap: TBitmap;
procedure PaintText; FTransparent: Boolean;
public FActiveBitmapNeedsUpdate: Boolean;
constructor Create; override; function GetBitmap : TBitmap;
destructor Destroy; override; function GetEmpty: Boolean;
procedure Update; procedure NormalBitmapChanged(Sender: TObject);
property Text : String read FText write SetText; procedure SetBitmap(const AValue: TBitmap);
property Canvas : TCanvas read GetCanvas; procedure SetDirection(const AValue: TRotateDirection);
procedure Draw(X,Y: Integer;var b : TBitmap); override; procedure SetTransparent(const AValue: Boolean);
procedure Draw(X,Y: Integer;var b : TLazIntfImage); override; procedure UpdateActiveBitmap; virtual;
end; protected
procedure NotifyBitmapChange; virtual;
function GetWidth: Integer; virtual;
function GetHeight: Integer; virtual;
property Bitmap: TBitmap read GetBitmap write SetBitmap;
property Transparent: Boolean read FTransparent write SetTransparent;
public
constructor Create; virtual;
destructor Destroy; override;
procedure Draw(Canvas: TCanvas; X, Y: Integer); virtual;
function IsBitmapStored : Boolean;
property Direction: TRotateDirection read FDirection write SetDirection;
property Empty: Boolean read GetEmpty;
property Width: Integer read GetWidth;
property Height: Integer read GetHeight;
end;
operator := (const b : TBitmap) : TLazIntfImage; { TRotatedBitmap }
operator := (const i : TLazIntfImage) : TBitmap;
TRotatedBitmap = class (TCustomRotatedBitmap)
public
property Bitmap;
property Transparent;
end;
{ TRotatedGlyph }
TRotatedGlyph = class (TCustomRotatedBitmap)
private
FGlyph : TButtonGlyph;
FButtonState : TButtonState;
FOnChange: TNotifyEvent;
procedure SetButtonState(Value: TButtonState);
procedure UpdateActiveBitmap; override;
protected
procedure NotifyBitmapChange; override;
public
constructor Create; override;
destructor Destroy; override;
procedure Draw(Canvas: TCanvas; X, Y: Integer); override;
property OnChange: TNotifyEvent read FOnChange write FOnChange;
property State: TButtonState read FButtonState write SetButtonState;
property Bitmap;
property Transparent;
end;
{ TRotatedText }
TRotatedText = class (TCustomRotatedBitmap)
private
FText : String;
procedure SetFont(const AValue: TFont);
procedure SetText(const Value: String);
procedure UpdateText;
protected
public
constructor Create; override;
property Font: TFont write SetFont;
property Text: String read FText write SetText;
end;
function CreateRotatedBitmap(SrcImage: TRasterImage; Direction: TRotateDirection): TBitmap;
implementation implementation
uses uses
LCLProc; LCLProc;
function CreateRotatedBitmap(SrcImage: TRasterImage; Direction: TRotateDirection): TBitmap;
var
px, py, nx, ny : Integer;
RotateImg, NormalImg: TLazIntfImage;
ImageHandle, MaskHandle: HBITMAP;
begin
NormalImg := SrcImage.CreateIntfImage;
RotateImg := TLazIntfImage.Create(NormalImg.Height, NormalImg.Width);
RotateImg.DataDescription := GetDescriptionFromDevice(0, NormalImg.Height, NormalImg.Width);
for px := 0 to NormalImg.Width - 1 do
for py := 0 to NormalImg.Height - 1 do
begin
if Direction = rdRight then
begin
nx := RotateImg.Width - 1 - py;
ny := px;
end else begin
nx := py;
ny := RotateImg.Height - 1 - px;
end;
RotateImg.Colors[nx, ny] := NormalImg.Colors[px, py];
end;
Result := TBitmap.Create;
//todo: Set mask manually and than create the mask handle here
//LoadFromIntfImage always create a mask leading to wrong display
RotateImg.CreateBitmaps(ImageHandle, MaskHandle, True);
Result.SetHandles(ImageHandle, MaskHandle);
if SrcImage.MaskHandleAllocated then
begin
//Calling TransparentMode and than TransparentColor creates the mask twice
//Set TransparentColor and call Mask
Result.TransparentColor := SrcImage.TransparentColor;
Result.Mask(SrcImage.TransparentColor);
end;
RotateImg.Free;
NormalImg.Free;
end;
{ TCustomRotatedBitmap }
function TCustomRotatedBitmap.GetBitmap: TBitmap;
begin
Result := FNormalBitmap;
end;
function TCustomRotatedBitmap.GetEmpty: Boolean;
begin
Result := (FNormalBitmap.Width = 0) or (FNormalBitmap.Height = 0);
end;
procedure TCustomRotatedBitmap.NormalBitmapChanged(Sender: TObject);
begin
FActiveBitmapNeedsUpdate := True;
NotifyBitmapChange;
end;
procedure TCustomRotatedBitmap.SetBitmap(const AValue: TBitmap);
begin
FNormalBitmap.Assign(AValue);
FActiveBitmapNeedsUpdate := True;
end;
procedure TCustomRotatedBitmap.SetDirection(const AValue: TRotateDirection);
begin
if FDirection = AValue then
Exit;
FDirection := AValue;
FActiveBitmapNeedsUpdate := True;
end;
procedure TCustomRotatedBitmap.SetTransparent(const AValue: Boolean);
begin
if FTransparent = AValue then exit;
FTransparent := AValue;
FActiveBitmap.Transparent := FTransparent;
end;
procedure TCustomRotatedBitmap.UpdateActiveBitmap;
begin
FreeAndNil(FRotatedBitmap);
if FDirection = rdNormal then
FActiveBitmap := FNormalBitmap
else
begin
FRotatedBitmap := CreateRotatedBitmap(FNormalBitmap, FDirection);
FActiveBitmap := FRotatedBitmap;
end;
FActiveBitmap.Transparent := FTransparent;
FActiveBitmapNeedsUpdate := False;
end;
procedure TCustomRotatedBitmap.NotifyBitmapChange;
begin
end;
function TCustomRotatedBitmap.GetWidth: Integer;
begin
if FActiveBitmapNeedsUpdate then
UpdateActiveBitmap;
Result := FActiveBitmap.Width;
end;
function TCustomRotatedBitmap.GetHeight: Integer;
begin
if FActiveBitmapNeedsUpdate then
UpdateActiveBitmap;
Result := FActiveBitmap.Height;
end;
constructor TCustomRotatedBitmap.Create;
begin
FDirection := rdNormal;
FNormalBitmap := TBitmap.Create;
FNormalBitmap.OnChange := @NormalBitmapChanged;
FActiveBitmap := FNormalBitmap;
end;
destructor TCustomRotatedBitmap.Destroy;
begin
FNormalBitmap.Destroy;
FRotatedBitmap.Free;
end;
procedure TCustomRotatedBitmap.Draw(Canvas: TCanvas; X, Y: Integer);
begin
if FActiveBitmapNeedsUpdate then
UpdateActiveBitmap;
Canvas.Draw(X, Y, FActiveBitmap);
end;
function TCustomRotatedBitmap.IsBitmapStored : Boolean;
begin
Result := (not FActiveBitmap.Empty)
and (FActiveBitmap.Width>0) and (FActiveBitmap.Height>0);
end;
{ TRotatedGlyph }
procedure TRotatedGlyph.SetButtonState(Value: TButtonState);
begin
FButtonState := Value;
end;
procedure TRotatedGlyph.UpdateActiveBitmap;
begin
inherited UpdateActiveBitmap;
FGlyph.Glyph := FActiveBitmap;
end;
procedure TRotatedGlyph.NotifyBitmapChange;
begin
if Assigned(FOnChange) then
FOnChange(Self);
end;
constructor TRotatedGlyph.Create; constructor TRotatedGlyph.Create;
begin begin
inherited; inherited Create;
FGlyph := TButtonGlyph.Create;
FNormalGlyph := TButtonGlyph.Create;
//FNormalGlyph.SetTransparentMode(gtmTransparent);
FTransparentColor:=clFuchsia;
FNormalGlyphBitmap := TBitmap.Create;
FButtonState := bsUp;
end; end;
destructor TRotatedGlyph.Destroy; destructor TRotatedGlyph.Destroy;
begin begin
DebugLn('TRotatedGlyph.Destroy'); FGlyph.Destroy;
DebugLn('FNormalGlyph.Free Assigned: %s',[BoolToStr(Assigned(FNormalGlyph),true)]); inherited Destroy;
if Assigned(FNormalGlyph) then FNormalGlyph.Free;
DebugLn('FNormalGlyphBitmap.Free Assigned: %s',[BoolToStr(Assigned(FNormalGlyphBitmap),true)]);
if Assigned(FNormalGlyphBitmap) then FNormalGlyphBitmap.Free;
DebugLn('Inherited');
inherited;
end; end;
procedure TRotatedGlyph.SetTransparentColor(Value: TColor); procedure TRotatedGlyph.Draw(Canvas: TCanvas; X, Y: Integer);
begin
FTransparentColor:=Value;
Update;
end;
function TRotatedGlyph.GetGlyph : TBitmap;
begin
Result := FNormalGlyphBitmap;
end;
procedure TRotatedGlyph.SetGlyph(Value: TBitmap);
begin
FNormalGlyphBitmap.Assign(Value);
//FNormalGlyph.Glyph.TransparentMode:=tmFixed;
//FNormalGlyph.Glyph.Transparent:=true;
Update;
end;
procedure TRotatedGlyph.SetButtonState(Value: TButtonState);
begin
FButtonState:=Value;
Update;
end;
procedure TRotatedGlyph.Update;
var var
TempBitmap : TBitmap; R: TRect;
SrcIntf, TrgIntf : TLazIntfImage; P: TPoint;
i, j : Integer;
begin begin
TempBitmap := TBitmap.Create; if FActiveBitmapNeedsUpdate then
TempBitmap.Width:=FNormalGlyphBitmap.Width; UpdateActiveBitmap;
TempBitmap.Height:=FNormalGlyphBitmap.Height; R := Rect(0, 0, FActiveBitmap.Width, FActiveBitmap.Height);
P := Point(X, Y);
TempBitmap.Canvas.Brush.Color:=clNone; FGlyph.Draw(Canvas, R, P, FButtonState, Transparent, 0);
TempBitmap.Canvas.FillRect(0,0,TempBitmap.Width,TempBitmap.Height);
SrcIntf := FNormalGlyphBitmap;
TrgIntf := TempBitmap;
{TmpIntf.DataDescription := GetDescriptionFromDevice(0);
TmpIntf.SetSize(TempBitmap.Width, TempBitmap.Height);
}
for i := 0 to TempBitmap.Width-1 do
for j := 0 to TempBitmap.Height-1 do
if SrcIntf.Colors[i,j] <> TColorToFPColor(FTransparentColor) then
TrgIntf.Colors[i,j] := SrcIntf.Colors[i,j];
{FNormalGlyph.Draw(TempBitmap.Canvas,Rect(0,0,TempBitmap.Width,TempBitmap.Height),
Point(0,0), FButtonState, true, 0);
}
TempBitmap.Free;
TempBitmap := TrgIntf;
LoadBitmap(TempBitmap);
TempBitmap.Free;
TrgIntf.Free;
SrcIntf.Free;
end; end;
procedure TRotatedGlyph.Draw(X,Y: Integer;var b : TBitmap; { TRotatedText }
TransparentColor : TColor);
var procedure TRotatedText.SetText(const Value: String);
Temp : TLazIntfImage;
begin begin
Temp := b; if Value = FText then
b.Free; Exit;
Draw(X,Y,Temp, TColorToFPColor(TransparentColor)); FText := Value;
b := Temp; UpdateText;
Temp.Free;
end; end;
procedure TRotatedGlyph.Draw(X, Y: Integer; var b: TLazIntfImage; procedure TRotatedText.SetFont(const AValue: TFont);
TransparentColor: TFPColor);
var
TempBitmap,Trg : TBitmap;
begin begin
Trg := TBitmap.Create; FNormalBitmap.Canvas.Font := AValue;
UpdateText;
end;
//First Rotate the Glyph then Draw it with an other State procedure TRotatedText.UpdateText;
inherited Draw(X,Y,b,TransparentColor); var
TextSize : TSize;
TempBitmap := b; begin
b.Free; //todo: handle font
with FNormalBitmap, Canvas do
Trg.Width:=b.Width; begin
Trg.Height:=b.Height; TextSize := TextExtent(FText);
{$if defined(LCLWin32) or defined (LCLQt)}
FNormalGlyph.Glyph.Assign(TempBitmap); //win32 and Qt does not comput correct text extent when Italic style is set.
//gtk1/2 does not support Italic at all
FNormalGlyph.Draw(Trg.Canvas,Rect(0,0,Trg.Width,Trg.Height), if fsItalic in Font.Style then
Point(0,0), FButtonState, true, 0); Inc(TextSize.cx, 4);
{$endif}
b := Trg; SetSize(TextSize.cx, TextSize.cy);
if Font.Color <> clFuchsia then
Trg.Free; Brush.Color := clFuchsia
TempBitmap.Free; else
Brush.Color := clWhite;
FillRect(0, 0, FNormalBitmap.Width, FNormalBitmap.Height);
TextOut(0, 0, FText);
Mask(Brush.Color);
end;
//FActiveBitmapNeedsUpdate := True;
end; end;
constructor TRotatedText.Create; constructor TRotatedText.Create;
begin begin
inherited; inherited Create;
Transparent := True;
FBitmap := TBitmap.Create;
FText:='X';
SetText('');
end;
destructor TRotatedText.Destroy;
begin
FBitmap.Free;
inherited;
end;
procedure TRotatedText.Update;
begin
PaintText;
end;
procedure TRotatedText.SetText(const Value: String);
begin
if FText <> Value then
begin
FText:=Value;
PaintText;
end;
end;
function TRotatedText.GetCanvas : TCanvas;
begin
Result := FBitmap.Canvas;
end;
procedure TRotatedText.PaintText;
var
TextSize : TSize;
begin
TextSize := FBitmap.Canvas.TextExtent(FText);
{$ifdef LCLWin32}
//win32 does not comput correct text extent when Italic style is set.
//small workaround to this bug
//not sure if other widgetsets alsoa have this bug. Enable it only for win32 for now
if fsItalic in FBitmap.Canvas.Font.Style then
Inc(TextSize.cx, 4);
{$endif}
FBitmap.SetSize(TextSize.cx, TextSize.cy);
//check to allow Text with Fuchsia color
if FBitmap.Canvas.Font.Color = clFuchsia then
FBitmap.Canvas.Brush.Color := clWhite
else
FBitmap.Canvas.Brush.Color := clFuchsia;
FBitmap.Canvas.FillRect(0,0, FBitmap.Width, FBitmap.Height);
FBitmap.Canvas.TextOut(0,0, FText);
Inherited LoadBitmap(FBitmap);
end;
procedure TRotatedText.Draw(X,Y: Integer;var b : TBitmap);
begin
Inherited Draw(X,Y,b,FBitmap.Canvas.Brush.Color);
end;
procedure TRotatedText.Draw(X,Y: Integer;var b : TLazIntfImage);
begin
Inherited Draw(X,Y,b,TColorToFPColor(FBitmap.Canvas.Brush.Color));
end;
operator := (const b : TBitmap) : TLazIntfImage;
begin
Result := TLazIntfImage.Create(0,0);
Result.LoadFromBitmap(b.Handle,b.MaskHandle);
end;
operator := (const i : TLazIntfImage) : TBitmap;
begin
Result := TBitmap.Create;
Result.LoadFromIntfImage(i);
end;
constructor TRotatedBitmap.Create;
begin
//inherited;
FRotateTo:=rdNormal;
end;
destructor TRotatedBitmap.Destroy;
begin
DebugLn('Destroy');
if Assigned(FNormalImage) then FNormalImage.Free;
if Assigned(FRotatedImage) then FRotatedImage.Free;
end;
procedure TRotatedBitmap.Free;
begin
inherited;
//if Self<>nil then
//Self.Destroy;
end;
function TRotatedBitmap.GetBitmap : TBitmap;
var
TempIntf : TLazIntfImage;
begin
if FRotateTo = rdNormal then
TempIntf := FNormalImage
else
TempIntf := FRotatedImage;
if Assigned(TempIntf) then
Result := TempIntf;
end;
procedure TRotatedBitmap.SetRotateTo(const Value : TRotateDirection);
begin
//WriteLn(FRotateTo<>Value);
if FRotateTo<>Value then
begin
//WriteLn('SetRotateTo');
FRotateTo:=Value;
DoRotate;
end;
end;
procedure TRotatedBitmap.LoadBitmap(var b : TBitmap);
begin
if FNormalImage <> nil then FNormalImage.Free;
if FRotatedImage = nil then begin
FRotatedImage := TLazIntfImage.Create(0,0);
FRotatedImage.DataDescription := GetDescriptionFromDevice(0);
end;
DebugLn('Assigned: B',BoolToStr(Assigned(FNormalImage),true));
FNormalImage := b;
//FNormalImage := TLazIntfImage.Create(0,0);
DebugLn('Assigned: A',BoolToStr(Assigned(FNormalImage),true));
if FRotateTo <> rdNormal then DoRotate;
end;
procedure TRotatedBitmap.DoRotate;
var
px, py, iw, ih, nx, ny : Integer;
CurColor: TFPColor;
begin
if FRotateTo=rdNormal then Exit;
{if Assigned(FRotatedImage) then
FRotatedImage.Free;
FRotatedImage := TLazIntfImage.Create(0,0);
FRotatedImage.DataDescription := GetDescriptionFromDevice(0);
}
FRotatedImage.SetSize({FNormalImage.Width,FNormalImage.Height}
FNormalImage.Height,FNormalImage.Width);
FRotatedImage.FillPixels(colWhite);
//WriteLn(FRotatedImage.Width, ' ', FRotatedImage.Height);
for px := 0 to FNormalImage.Width-1 do
for py := 0 to FNormalImage.Height-1 do
begin
if FRotateTo = rdRight then
begin
nx := FRotatedImage.Width-1-py;
ny := px;
end else begin
nx := py;
ny := FRotatedImage.Height-1-px;
end;
//WriteLn(nx, ' ', ny, ' ', px, ' ', py);
CurColor := FNormalImage.Colors[px,py];
FRotatedImage.Colors[nx,ny]:= CurColor;
end;
end;
procedure TRotatedBitmap.Draw(X,Y: Integer;var b : TBitmap);
begin
Draw(X,Y,b,clNone);
end;
procedure TRotatedBitmap.Draw(X,Y: Integer;var b : TLazIntfImage);
begin
Draw(X,Y,b,TColorToFPColor(clNone));
end;
procedure TRotatedBitmap.Draw(X,Y: Integer;var b : TBitmap; TransparentColor : TColor);
var
TempIntfImage : TLazIntfImage;
begin
TempIntfImage := b;
b.Free;
Draw(X,Y, TempIntfImage, TColorToFPColor(TransparentColor));
b := TempIntfImage;
TempIntfImage.Free;
end;
procedure TRotatedBitmap.Draw(X,Y: Integer;var b : TLazIntfImage; TransparentColor : TFPColor);
var
px, py : Integer;
TempIntf : TLazIntfImage;
begin
if FRotateTo = rdNormal then
TempIntf := FNormalImage
else
TempIntf := FRotatedImage;
//WriteLn(Assigned(FNormalImage));
//WriteLn(Assigned(FRotatedImage));
for px := 0 to TempIntf.Width-1 do
for py := 0 to TempIntf.Height-1 do
if (TempIntf.Colors[px,py] <> TransparentColor)
AND ((X+px) < b.Width) AND ((Y+py) < b.Height)
AND ((X+px) >= 0) AND ((Y+py) >= 0) then
begin
//WriteLn(px, ' ', py);
b.Colors[X+px,Y+py]:=TempIntf.Colors[px,py];
end;
end;
function TRotatedBitmap.GetWidth : Integer;
begin
Result := -1;
if (FRotateTo = rdNormal) AND Assigned(FNormalImage) then
Result := FNormalImage.Width
else if Assigned(FRotatedImage) then
Result := FRotatedImage.Width;
end;
function TRotatedBitmap.GetHeight : Integer;
begin
Result := -1;
if (FRotateTo = rdNormal) AND Assigned(FNormalImage) then
Result := FNormalImage.Height
else if Assigned(FRotatedImage) then
Result := FRotatedImage.Height;
end; end;
end. end.