fixed issues, added events

git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@589 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
eugene1
2008-10-08 20:15:45 +00:00
parent 397ae7a036
commit 170b2a730f
8 changed files with 932 additions and 221 deletions

View File

@ -1,13 +1,16 @@
object Form1: TForm1 object Form1: TForm1
Left = 270 Left = 254
Height = 506 Height = 506
Top = 98 Top = 116
Width = 898 Width = 898
Caption = 'Form1' Caption = 'Form1'
ClientHeight = 506 ClientHeight = 506
ClientWidth = 898 ClientWidth = 898
OnCreate = FormCreate OnCreate = FormCreate
OnDestroy = FormDestroy OnDestroy = FormDestroy
OnMouseWheel = FormMouseWheel
OnMouseWheelDown = FormMouseWheelDown
OnMouseWheelUp = FormMouseWheelUp
ParentFont = False ParentFont = False
LCLVersion = '0.9.27' LCLVersion = '0.9.27'
object Panel1: TPanel object Panel1: TPanel
@ -27,10 +30,88 @@ object Form1: TForm1
Width = 749 Width = 749
Align = alClient Align = alClient
ControlStyle = [csAcceptsControls] ControlStyle = [csAcceptsControls]
PageIndex = -1 ActivePage = GradTabPage1
TabHeight = 30 OnTabButtonClick = GradTabControl1TabButtonClick
TabPosition = tpLeft OnTabButtonMouseDown = GradTabControl1TabButtonMouseDown
OnTabButtonMouseUp = GradTabControl1TabButtonMouseUp
OnTabButtonMouseMove = GradTabControl1TabButtonMouseMove
OnDragDrop = GradTabControl1DragDrop
OnDragOver = GradTabControl1DragOver
OnMouseDown = GradTabControl1MouseDown
OnMouseWheelUp = GradTabControl1MouseWheelUp
OnMouseWheelDown = GradTabControl1MouseWheelDown
OnPagesBarDragOver = GradTabControl1PagesBarDragOver
TabHeight = 20
MoveIncrement = 1 MoveIncrement = 1
OnPageChanged = GradTabControl1PageChanged
object GradTabPage2: TGradTabPage
Left = 2
Height = 480
Top = 22
Width = 745
PageIndex = 1
Caption = 'GradTabPage2'
object PageControl1: TPageControl
Left = 173
Height = 200
Top = 57
Width = 200
ActivePage = TabSheet3
TabIndex = 2
TabOrder = 0
OnDragDrop = PageControl1DragDrop
OnDragOver = PageControl1DragOver
OnMouseDown = PageControl1MouseDown
object TabSheet1: TTabSheet
Caption = 'TabSheet1'
end
object TabSheet2: TTabSheet
Caption = 'TabSheet2'
end
object TabSheet3: TTabSheet
Caption = 'TabSheet3'
end
end
object Button2: TButton
Left = 47
Height = 25
Top = 28
Width = 75
Caption = 'Button2'
TabOrder = 1
end
object Panel3: TPanel
Left = 429
Height = 50
Top = 89
Width = 170
Caption = 'Panel3'
TabOrder = 2
end
end
object GradTabPage1: TGradTabPage
Left = 2
Height = 480
Top = 22
Width = 745
Caption = 'GradTabPage1'
object Button1: TButton
Left = 94
Height = 25
Top = 50
Width = 75
Caption = 'Button1'
TabOrder = 0
end
object ToggleBox2: TToggleBox
Left = 357
Height = 23
Top = 155
Width = 90
Caption = 'ToggleBox2'
TabOrder = 1
end
end
end end
end end
object Panel2: TPanel object Panel2: TPanel
@ -63,9 +144,9 @@ object Form1: TForm1
TabOrder = 0 TabOrder = 0
end end
object RadioGroup1: TRadioGroup object RadioGroup1: TRadioGroup
Left = 17 Left = 21
Height = 113 Height = 113
Top = 80 Top = 144
Width = 100 Width = 100
AutoFill = True AutoFill = True
Caption = 'Tab Position' Caption = 'Tab Position'
@ -95,7 +176,6 @@ object Form1: TForm1
Top = 276 Top = 276
Width = 75 Width = 75
Caption = 'Long Tabs' Caption = 'Long Tabs'
Enabled = False
OnClick = CheckBox1Click OnClick = CheckBox1Click
TabOrder = 3 TabOrder = 3
end end
@ -110,12 +190,13 @@ object Form1: TForm1
TabOrder = 1 TabOrder = 1
Value = 50 Value = 50
end end
object GradButton1: TGradButton object NewPageBtn: TGradButton
Left = 16 Left = 16
Height = 25 Height = 25
Top = 48 Top = 48
Width = 104 Width = 100
Caption = 'New Page' Caption = 'New Page'
Font.Color = clWhite
OnClick = BewegeBtn OnClick = BewegeBtn
TabOrder = 4 TabOrder = 4
TabStop = True TabStop = True
@ -141,6 +222,29 @@ object Form1: TForm1
OnChange = SpinEdit2Change OnChange = SpinEdit2Change
TabOrder = 5 TabOrder = 5
end end
object DeleteBtn: TGradButton
Left = 16
Height = 25
Top = 80
Width = 100
Caption = 'Delete'
Font.Color = clWhite
OnClick = DeleteBtnClick
TabOrder = 6
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
GlyphBackgroundColor = clWhite
ClickColor = clBlue
AutoWidthBorderSpacing = 15
end
end end
object Splitter1: TSplitter object Splitter1: TSplitter
Left = 751 Left = 751
@ -154,10 +258,4 @@ object Form1: TForm1
Caption = 'New Item1' Caption = 'New Item1'
end end
end end
object SynPHPSyn1: TSynPHPSyn
DefaultFilter = 'PHP-Dateien (*.php,*.php3,*.phtml,*.inc)|*.php;*.php3;*.phtml;*.inc'
Enabled = False
left = 115
top = 255
end
end end

View File

@ -1,51 +1,83 @@
{ 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'#3#14#1#6'Height'#3#250#1#3'Top'#2'b'#5'Widt' 'TPF0'#6'TForm1'#5'Form1'#4'Left'#3#254#0#6'Height'#3#250#1#3'Top'#2't'#5'Wid'
+'h'#3#130#3#7'Caption'#6#5'Form1'#12'ClientHeight'#3#250#1#11'ClientWidth'#3 +'th'#3#130#3#7'Caption'#6#5'Form1'#12'ClientHeight'#3#250#1#11'ClientWidth'#3
+#130#3#8'OnCreate'#7#10'FormCreate'#9'OnDestroy'#7#11'FormDestroy'#10'Parent' +#130#3#8'OnCreate'#7#10'FormCreate'#9'OnDestroy'#7#11'FormDestroy'#12'OnMous'
+'Font'#8#10'LCLVersion'#6#6'0.9.27'#0#6'TPanel'#6'Panel1'#6'Height'#3#250#1#5 +'eWheel'#7#14'FormMouseWheel'#16'OnMouseWheelDown'#7#18'FormMouseWheelDown'
+'Width'#3#239#2#5'Align'#7#6'alLeft'#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRi' +#14'OnMouseWheelUp'#7#16'FormMouseWheelUp'#10'ParentFont'#8#10'LCLVersion'#6
+'ght'#8'akBottom'#0#7'Caption'#6#6'Panel1'#12'ClientHeight'#3#250#1#11'Clien' +#6'0.9.27'#0#6'TPanel'#6'Panel1'#6'Height'#3#250#1#5'Width'#3#239#2#5'Align'
+'tWidth'#3#239#2#8'TabOrder'#2#0#7'OnClick'#7#9'BewegeBtn'#0#15'TGradTabCont' +#7#6'alLeft'#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#8'akBottom'#0#7'Cap'
+'rol'#15'GradTabControl1'#4'Left'#2#1#6'Height'#3#248#1#3'Top'#2#1#5'Width'#3 +'tion'#6#6'Panel1'#12'ClientHeight'#3#250#1#11'ClientWidth'#3#239#2#8'TabOrd'
+#237#2#5'Align'#7#8'alClient'#12'ControlStyle'#11#17'csAcceptsControls'#0#9 +'er'#2#0#7'OnClick'#7#9'BewegeBtn'#0#15'TGradTabControl'#15'GradTabControl1'
+'PageIndex'#2#255#9'TabHeight'#2#30#11'TabPosition'#7#6'tpLeft'#13'MoveIncre' +#4'Left'#2#1#6'Height'#3#248#1#3'Top'#2#1#5'Width'#3#237#2#5'Align'#7#8'alCl'
+'ment'#2#1#0#0#0#6'TPanel'#6'Panel2'#4'Left'#3#244#2#6'Height'#3#250#1#5'Wid' +'ient'#12'ControlStyle'#11#17'csAcceptsControls'#0#10'ActivePage'#7#12'GradT'
+'th'#3#142#0#5'Align'#7#8'alClient'#7'Caption'#6#6'Panel2'#12'ClientHeight'#3 +'abPage1'#16'OnTabButtonClick'#7#29'GradTabControl1TabButtonClick'#20'OnTabB'
+#250#1#11'ClientWidth'#3#142#0#8'TabOrder'#2#2#7'OnClick'#7#11'Panel2Click'#0 +'uttonMouseDown'#7'!GradTabControl1TabButtonMouseDown'#18'OnTabButtonMouseUp'
+#6'TLabel'#6'Label1'#4'Left'#2#15#6'Height'#2#14#3'Top'#3'0'#1#5'Width'#2'O' +#7#31'GradTabControl1TabButtonMouseUp'#20'OnTabButtonMouseMove'#7'!GradTabCo'
+#7'Caption'#6#14'Move Increment'#11'ParentColor'#8#0#0#9'TComboBox'#9'ComboB' +'ntrol1TabButtonMouseMove'#10'OnDragDrop'#7#23'GradTabControl1DragDrop'#10'O'
+'ox1'#4'Left'#2#16#6'Height'#2#21#3'Top'#2#16#5'Width'#2'd'#10'ItemHeight'#2 +'nDragOver'#7#23'GradTabControl1DragOver'#11'OnMouseDown'#7#24'GradTabContro'
+#13#9'MaxLength'#2#255#8'OnChange'#7#15'ComboBox1Change'#5'Style'#7#14'csDro' +'l1MouseDown'#14'OnMouseWheelUp'#7#27'GradTabControl1MouseWheelUp'#16'OnMous'
+'pDownList'#8'TabOrder'#2#0#0#0#11'TRadioGroup'#11'RadioGroup1'#4'Left'#2#17 +'eWheelDown'#7#29'GradTabControl1MouseWheelDown'#18'OnPagesBarDragOver'#7#31
+#6'Height'#2'q'#3'Top'#2'P'#5'Width'#2'd'#8'AutoFill'#9#7'Caption'#6#12'Tab ' +'GradTabControl1PagesBarDragOver'#9'TabHeight'#2#20#13'MoveIncrement'#2#1#13
+'Position'#28'ChildSizing.LeftRightSpacing'#2#6#28'ChildSizing.TopBottomSpac' +'OnPageChanged'#7#26'GradTabControl1PageChanged'#0#12'TGradTabPage'#12'GradT'
+'ing'#2#6#29'ChildSizing.EnlargeHorizontal'#7#24'crsHomogenousChildResize'#27 +'abPage2'#4'Left'#2#2#6'Height'#3#224#1#3'Top'#2#22#5'Width'#3#233#2#9'PageI'
+'ChildSizing.EnlargeVertical'#7#24'crsHomogenousChildResize'#28'ChildSizing.' +'ndex'#2#1#7'Caption'#6#12'GradTabPage2'#0#12'TPageControl'#12'PageControl1'
+'ShrinkHorizontal'#7#14'crsScaleChilds'#26'ChildSizing.ShrinkVertical'#7#14 +#4'Left'#3#173#0#6'Height'#3#200#0#3'Top'#2'9'#5'Width'#3#200#0#10'ActivePag'
+'crsScaleChilds'#18'ChildSizing.Layout'#7#29'cclLeftToRightThenTopToBottom' +'e'#7#9'TabSheet3'#8'TabIndex'#2#2#8'TabOrder'#2#0#10'OnDragDrop'#7#20'PageC'
+#27'ChildSizing.ControlsPerLine'#2#1#12'ClientHeight'#2'_'#11'ClientWidth'#2 +'ontrol1DragDrop'#10'OnDragOver'#7#20'PageControl1DragOver'#11'OnMouseDown'#7
+'`'#9'ItemIndex'#2#0#13'Items.Strings'#1#6#5'tpTop'#6#8'tpBottom'#6#6'tpLeft' +#21'PageControl1MouseDown'#0#9'TTabSheet'#9'TabSheet1'#7'Caption'#6#9'TabShe'
+#6#7'tpRight'#0#7'OnClick'#7#16'RadioGroup1Click'#8'TabOrder'#2#2#0#0#9'TChe' +'et1'#0#0#9'TTabSheet'#9'TabSheet2'#7'Caption'#6#9'TabSheet2'#0#0#9'TTabShee'
+'ckBox'#9'CheckBox1'#4'Left'#2#15#6'Height'#2#19#3'Top'#3#20#1#5'Width'#2'K' +'t'#9'TabSheet3'#7'Caption'#6#9'TabSheet3'#0#0#0#7'TButton'#7'Button2'#4'Lef'
+#7'Caption'#6#9'Long Tabs'#7'Enabled'#8#7'OnClick'#7#14'CheckBox1Click'#8'Ta' +'t'#2'/'#6'Height'#2#25#3'Top'#2#28#5'Width'#2'K'#7'Caption'#6#7'Button2'#8
+'bOrder'#2#3#0#0#9'TSpinEdit'#9'SpinEdit1'#4'Left'#2'_'#6'Height'#2#19#3'Top' +'TabOrder'#2#1#0#0#6'TPanel'#6'Panel3'#4'Left'#3#173#1#6'Height'#2'2'#3'Top'
+#3#20#1#5'Width'#2'"'#7'Enabled'#8#8'MaxValue'#2'2'#13'OnEditingDone'#7#20'S' +#2'Y'#5'Width'#3#170#0#7'Caption'#6#6'Panel3'#8'TabOrder'#2#2#0#0#0#12'TGrad'
+'pinEdit1EditingDone'#8'TabOrder'#2#1#5'Value'#2'2'#0#0#11'TGradButton'#11'G' +'TabPage'#12'GradTabPage1'#4'Left'#2#2#6'Height'#3#224#1#3'Top'#2#22#5'Width'
+'radButton1'#4'Left'#2#16#6'Height'#2#25#3'Top'#2'0'#5'Width'#2'h'#7'Caption' +#3#233#2#7'Caption'#6#12'GradTabPage1'#0#7'TButton'#7'Button1'#4'Left'#2'^'#6
+#6#8'New Page'#7'OnClick'#7#9'BewegeBtn'#8'TabOrder'#2#4#7'TabStop'#9#11'Nor' +'Height'#2#25#3'Top'#2'2'#5'Width'#2'K'#7'Caption'#6#7'Button1'#8'TabOrder'#2
+'malBlend'#5#0#0#0#0#0#0#0#128#254'?'#9'OverBlend'#5'5^'#186'I'#12#2'+'#167 +#0#0#0#10'TToggleBox'#10'ToggleBox2'#4'Left'#3'e'#1#6'Height'#2#23#3'Top'#3
+#254'?'#9'BaseColor'#7#6'clBlue'#5'Color'#7#6'clBlue'#16'NormalBlendColor'#7 +#155#0#5'Width'#2'Z'#7'Caption'#6#10'ToggleBox2'#8'TabOrder'#2#1#0#0#0#0#0#6
+#7'clWhite'#14'OverBlendColor'#7#8'clSilver'#15'BackgroundColor'#7#9'clBtnFa' +'TPanel'#6'Panel2'#4'Left'#3#244#2#6'Height'#3#250#1#5'Width'#3#142#0#5'Alig'
+'ce'#11'BorderSides'#11#9'bsTopLine'#12'bsBottomLine'#10'bsLeftLine'#11'bsRi' +'n'#7#8'alClient'#7'Caption'#6#6'Panel2'#12'ClientHeight'#3#250#1#11'ClientW'
+'ghtLine'#0#15'ShowFocusBorder'#9#20'GlyphBackgroundColor'#7#7'clWhite'#10'C' +'idth'#3#142#0#8'TabOrder'#2#2#7'OnClick'#7#11'Panel2Click'#0#6'TLabel'#6'La'
+'lickColor'#7#6'clBlue'#22'AutoWidthBorderSpacing'#2#15#0#0#9'TSpinEdit'#9'S' +'bel1'#4'Left'#2#15#6'Height'#2#14#3'Top'#3'0'#1#5'Width'#2'O'#7'Caption'#6
+'pinEdit2'#4'Left'#2#15#6'Height'#2#23#3'Top'#3'@'#1#5'Width'#2'O'#8'MinValu' +#14'Move Increment'#11'ParentColor'#8#0#0#9'TComboBox'#9'ComboBox1'#4'Left'#2
+'e'#2#156#8'OnChange'#7#15'SpinEdit2Change'#8'TabOrder'#2#5#0#0#0#9'TSplitte' +#16#6'Height'#2#21#3'Top'#2#16#5'Width'#2'd'#10'ItemHeight'#2#13#9'MaxLength'
+'r'#9'Splitter1'#4'Left'#3#239#2#6'Height'#3#250#1#5'Width'#2#5#0#0#10'TPopu' +#2#255#8'OnChange'#7#15'ComboBox1Change'#5'Style'#7#14'csDropDownList'#8'Tab'
+'pMenu'#10'PopupMenu1'#4'left'#3#222#2#3'top'#3#141#1#0#9'TMenuItem'#9'MenuI' +'Order'#2#0#0#0#11'TRadioGroup'#11'RadioGroup1'#4'Left'#2#21#6'Height'#2'q'#3
+'tem1'#7'Caption'#6#9'New Item1'#0#0#0#10'TSynPHPSyn'#10'SynPHPSyn1'#13'Defa' +'Top'#3#144#0#5'Width'#2'd'#8'AutoFill'#9#7'Caption'#6#12'Tab Position'#28'C'
+'ultFilter'#6'CPHP-Dateien (*.php,*.php3,*.phtml,*.inc)|*.php;*.php3;*.phtml' +'hildSizing.LeftRightSpacing'#2#6#28'ChildSizing.TopBottomSpacing'#2#6#29'Ch'
+';*.inc'#7'Enabled'#8#4'left'#2's'#3'top'#3#255#0#0#0#0 +'ildSizing.EnlargeHorizontal'#7#24'crsHomogenousChildResize'#27'ChildSizing.'
+'EnlargeVertical'#7#24'crsHomogenousChildResize'#28'ChildSizing.ShrinkHorizo'
+'ntal'#7#14'crsScaleChilds'#26'ChildSizing.ShrinkVertical'#7#14'crsScaleChil'
+'ds'#18'ChildSizing.Layout'#7#29'cclLeftToRightThenTopToBottom'#27'ChildSizi'
+'ng.ControlsPerLine'#2#1#12'ClientHeight'#2'_'#11'ClientWidth'#2'`'#9'ItemIn'
+'dex'#2#0#13'Items.Strings'#1#6#5'tpTop'#6#8'tpBottom'#6#6'tpLeft'#6#7'tpRig'
+'ht'#0#7'OnClick'#7#16'RadioGroup1Click'#8'TabOrder'#2#2#0#0#9'TCheckBox'#9
+'CheckBox1'#4'Left'#2#15#6'Height'#2#19#3'Top'#3#20#1#5'Width'#2'K'#7'Captio'
+'n'#6#9'Long Tabs'#7'OnClick'#7#14'CheckBox1Click'#8'TabOrder'#2#3#0#0#9'TSp'
+'inEdit'#9'SpinEdit1'#4'Left'#2'_'#6'Height'#2#19#3'Top'#3#20#1#5'Width'#2'"'
+#7'Enabled'#8#8'MaxValue'#2'2'#13'OnEditingDone'#7#20'SpinEdit1EditingDone'#8
+'TabOrder'#2#1#5'Value'#2'2'#0#0#11'TGradButton'#10'NewPageBtn'#4'Left'#2#16
+#6'Height'#2#25#3'Top'#2'0'#5'Width'#2'd'#7'Caption'#6#8'New Page'#10'Font.C'
+'olor'#7#7'clWhite'#7'OnClick'#7#9'BewegeBtn'#8'TabOrder'#2#4#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#20'GlyphBackgroundColor'#7#7'clWhite'
+#10'ClickColor'#7#6'clBlue'#22'AutoWidthBorderSpacing'#2#15#0#0#9'TSpinEdit'
+#9'SpinEdit2'#4'Left'#2#15#6'Height'#2#23#3'Top'#3'@'#1#5'Width'#2'O'#8'MinV'
+'alue'#2#156#8'OnChange'#7#15'SpinEdit2Change'#8'TabOrder'#2#5#0#0#11'TGradB'
+'utton'#9'DeleteBtn'#4'Left'#2#16#6'Height'#2#25#3'Top'#2'P'#5'Width'#2'd'#7
+'Caption'#6#6'Delete'#10'Font.Color'#7#7'clWhite'#7'OnClick'#7#14'DeleteBtnC'
+'lick'#8'TabOrder'#2#6#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'OverBlendColor'#7#8
+'clSilver'#15'BackgroundColor'#7#9'clBtnFace'#11'BorderSides'#11#9'bsTopLine'
+#12'bsBottomLine'#10'bsLeftLine'#11'bsRightLine'#0#15'ShowFocusBorder'#9#20
+'GlyphBackgroundColor'#7#7'clWhite'#10'ClickColor'#7#6'clBlue'#22'AutoWidthB'
+'orderSpacing'#2#15#0#0#0#9'TSplitter'#9'Splitter1'#4'Left'#3#239#2#6'Height'
+#3#250#1#5'Width'#2#5#0#0#10'TPopupMenu'#10'PopupMenu1'#4'left'#3#222#2#3'to'
+'p'#3#141#1#0#9'TMenuItem'#9'MenuItem1'#7'Caption'#6#9'New Item1'#0#0#0#0
]); ]);

View File

@ -9,13 +9,10 @@ unit Unit1;
gelöscht werden ^^ gelöscht werden ^^
ToDo: ToDo:
- TGradTabBar & TGradTabPagesBar mit sortieren von Tabs "ausstatten"
- TabPosition einbauen, sowie das zeichnen und anordnen der Tabs/Pages ändern
- CurrentPage-Button ohne Abstand - CurrentPage-Button ohne Abstand
- IDE Testen hoffe es geht *g* - IDE Testen hoffe es geht *g*
Danach: Danach:
- Eigene Page Classen zu ordnen ( bräuchte ich zumindest ^^ ) - Feddich
- Tabs disable-n - Tabs disable-n
- noch welche Wünsche? xD - noch welche Wünsche? xD
- Testen testen testen und voila wir haben eine neue komponente :D - Testen testen testen und voila wir haben eine neue komponente :D
@ -26,11 +23,11 @@ unit Unit1;
interface interface
uses uses
Classes, SysUtils, LResources, Forms, Controls, Graphics, Dialogs, ExtCtrls, windows, Classes, SysUtils, LResources, Forms, Controls, Graphics, Dialogs, ExtCtrls,
ugradbtn, StdCtrls, ComCtrls, LCLType, LCLProc, Buttons, ugradtabcontrol, ugradbtn, StdCtrls, ComCtrls, LCLType, LCLProc, LCLIntf, Buttons, ugradtabcontrol,
Menus, Spin, ButtonPanel, Menus, Spin, ButtonPanel,
MaskEdit, DBGrids, DbCtrls, EditBtn, Arrow, MaskEdit, DBGrids, DbCtrls, EditBtn, Arrow,
SynHighlighterPHP, Grids, SynEdit; SynHighlighterPHP, Grids, SynEdit, SynMemo;
type type
@ -41,15 +38,20 @@ type
{ TForm1 } { TForm1 }
TForm1 = class(TForm) TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
CheckBox1: TCheckBox; CheckBox1: TCheckBox;
ComboBox1: TComboBox; ComboBox1: TComboBox;
Edit1: TEdit; Edit1: TEdit;
GradButton1: TGradButton; GradTabPage1: TGradTabPage;
GradTabPage2: TGradTabPage;
NewPageBtn: TGradButton;
DeleteBtn: TGradButton;
GradTabControl1: TGradTabControl; GradTabControl1: TGradTabControl;
Label1: TLabel; Label1: TLabel;
Memo1: TMemo;
Memo2: TMemo; Memo2: TMemo;
MenuItem1: TMenuItem; MenuItem1: TMenuItem;
PageControl1: TPageControl;
Panel1: TPanel; Panel1: TPanel;
Panel2: TPanel; Panel2: TPanel;
Panel3: TPanel; Panel3: TPanel;
@ -59,14 +61,22 @@ type
SpinEdit2: TSpinEdit; SpinEdit2: TSpinEdit;
Splitter1: TSplitter; Splitter1: TSplitter;
StringGrid1: TStringGrid; StringGrid1: TStringGrid;
SynEdit1: TSynEdit; TabSheet1: TTabSheet;
SynPHPSyn1: TSynPHPSyn; TabSheet2: TTabSheet;
TabSheet3: TTabSheet;
ToggleBox2: TToggleBox;
procedure Button1Click(Sender: TObject); procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject); procedure Button2Click(Sender: TObject);
procedure CheckBox1Click(Sender: TObject); procedure CheckBox1Click(Sender: TObject);
procedure ComboBox1Change(Sender: TObject); procedure ComboBox1Change(Sender: TObject);
procedure FormCreate(Sender: TObject); procedure FormCreate(Sender: TObject);
procedure FormDestroy(Sender: TObject); procedure FormDestroy(Sender: TObject);
procedure FormMouseWheel(Sender: TObject; Shift: TShiftState;
WheelDelta: Integer; MousePos: TPoint; var Handled: Boolean);
procedure FormMouseWheelDown(Sender: TObject; Shift: TShiftState;
MousePos: TPoint; var Handled: Boolean);
procedure FormMouseWheelUp(Sender: TObject; Shift: TShiftState;
MousePos: TPoint; var Handled: Boolean);
procedure GradButton1Click(Sender: TObject); procedure GradButton1Click(Sender: TObject);
procedure GradButton1MouseDown(Sender: TObject; Button: TMouseButton; procedure GradButton1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer); Shift: TShiftState; X, Y: Integer);
@ -76,16 +86,41 @@ type
Y: Integer); Y: Integer);
procedure GradButton1MouseUp(Sender: TObject; Button: TMouseButton; procedure GradButton1MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer); Shift: TShiftState; X, Y: Integer);
procedure GradButton2Click(Sender: TObject); procedure DeleteBtnClick(Sender: TObject);
procedure BewegeBtn(Sender: TObject); procedure BewegeBtn(Sender: TObject);
procedure GradButton3Click(Sender: TObject); procedure GradButton3Click(Sender: TObject);
procedure GradButton4Click(Sender: TObject); procedure GradButton4Click(Sender: TObject);
procedure GradTabControl1DragDrop(Sender, Source: TObject; X, Y: Integer);
procedure GradTabControl1DragOver(Sender, Source: TObject; X, Y: Integer;
State: TDragState; var Accept: Boolean);
procedure GradTabControl1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure GradTabControl1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure GradTabControl1MouseWheelDown(Sender: TObject;
Shift: TShiftState; MousePos: TPoint; var Handled: Boolean);
procedure GradTabControl1MouseWheelUp(Sender: TObject; Shift: TShiftState;
MousePos: TPoint; var Handled: Boolean);
procedure GradTabControl1PageChanged(Sender: TObject);
procedure GradTabControl1PagesBarDragOver(Sender, Source: TObject; X,
Y: Integer; State: TDragState; var Accept: Boolean);
procedure GradTabControl1TabButtonClick(GradTabControl: TGradTabControl; procedure GradTabControl1TabButtonClick(GradTabControl: TGradTabControl;
AIndex: Integer); AIndex: Integer);
procedure GradTabControl1TabButtonMouseDown(
GradTabControl: TGradTabControl; Button: TMouseButton;
Shift: TShiftState; X, Y, AIndex: Integer);
procedure GradTabControl1TabButtonMouseMove(
GradTabControl: TGradTabControl; Shift: TShiftState; X, Y, AIndex: Integer
);
procedure GradTabControl1TabButtonMouseUp(GradTabControl: TGradTabControl; procedure GradTabControl1TabButtonMouseUp(GradTabControl: TGradTabControl;
Button: TMouseButton; Shift: TShiftState; X, Y, AIndex: Integer); Button: TMouseButton; Shift: TShiftState; X, Y, AIndex: Integer);
procedure GradTabControl2TabButtonClick(GradTabControl: TGradTabControl; procedure GradTabControl2TabButtonClick(GradTabControl: TGradTabControl;
AIndex: Integer); AIndex: Integer);
procedure PageControl1DragDrop(Sender, Source: TObject; X, Y: Integer);
procedure PageControl1DragOver(Sender, Source: TObject; X, Y: Integer;
State: TDragState; var Accept: Boolean);
procedure PageControl1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure Panel2Click(Sender: TObject); procedure Panel2Click(Sender: TObject);
procedure RadioGroup1Click(Sender: TObject); procedure RadioGroup1Click(Sender: TObject);
procedure SpinEdit1EditingDone(Sender: TObject); procedure SpinEdit1EditingDone(Sender: TObject);
@ -105,7 +140,6 @@ var
implementation implementation
{ TForm1 } { TForm1 }
procedure TForm1.FormCreate(Sender: TObject); procedure TForm1.FormCreate(Sender: TObject);
@ -194,7 +228,7 @@ begin
WriteLn(BoolToStr(GradTabControl1.Pages[0] <> nil,true)); WriteLn(BoolToStr(GradTabControl1.Pages[0] <> nil,true));
GradButton1.Parent := GradTabControl1.Pages[0]; NewPageBtn.Parent := GradTabControl1.Pages[0];
BitBtn1.Parent := GradTabControl1.Pages[0]; BitBtn1.Parent := GradTabControl1.Pages[0];
} }
//GradButton3Click(GradButton3); //GradButton3Click(GradButton3);
@ -247,6 +281,24 @@ begin
GradTabControl1.Free; GradTabControl1.Free;
end; end;
procedure TForm1.FormMouseWheel(Sender: TObject; Shift: TShiftState;
WheelDelta: Integer; MousePos: TPoint; var Handled: Boolean);
begin
end;
procedure TForm1.FormMouseWheelDown(Sender: TObject; Shift: TShiftState;
MousePos: TPoint; var Handled: Boolean);
begin
end;
procedure TForm1.FormMouseWheelUp(Sender: TObject; Shift: TShiftState;
MousePos: TPoint; var Handled: Boolean);
begin
end;
procedure TForm1.GradButton1Click(Sender: TObject); procedure TForm1.GradButton1Click(Sender: TObject);
begin begin
@ -280,19 +332,36 @@ begin
end; end;
procedure TForm1.GradButton2Click(Sender: TObject); procedure TForm1.DeleteBtnClick(Sender: TObject);
var var
C : Integer; C : Integer;
T : String;
begin begin
GradTabControl1.PagesBar.MoveTo(SpinEdit2.Value); T := ComboBox1.Text;
C := GradTabControl1.Tabs.IndexOf(T);
DebugLn('Text=%s Index=%d',[T,ComboBox1.Items.IndexOf(T)]);
if (C < GradTabControl1.PageList.Count) AND (GradTabControl1.PageList.Count<>0) then
begin
ComboBox1.Items.Delete(ComboBox1.Items.IndexOf(T));
GradTabControl1.Tabs.Delete(C);
end;
end; end;
procedure TForm1.BewegeBtn(Sender: TObject); procedure TForm1.BewegeBtn(Sender: TObject);
var var
C,R,G,B : Integer; C,R,G,B : Integer;
newName : String;
begin begin
C := GradTabControl1.Tabs.Count; C := -1;
GradTabControl1.Tabs.Add('tab_'+IntToStr(C));
repeat
Inc(C);
newName := 'tab_'+IntToStr(C);
until(GradTabControl1.Tabs.IndexOf(newName)=-1);
GradTabControl1.Tabs.Add(newName);
Randomize; Randomize;
@ -301,10 +370,10 @@ begin
B := Random(255)+1; B := Random(255)+1;
//WriteLn(R, ' ', G, ' ', B, ColorToString(RGBToColor(R,G,B))); //WriteLn(R, ' ', G, ' ', B, ColorToString(RGBToColor(R,G,B)));
GradTabControl1.CurrentPage.Caption:='tab_'+IntToStr(C); GradTabControl1.ActivePage.Caption:='tab_'+IntToStr(C);
//GradTabControl1.CurrentPage.Color:=RGBToColor(R, G, B); //GradTabControl1.CurrentPage.Color:=RGBToColor(R, G, B);
GradTabControl1.CurrentPage.TabPopupMenu := PopupMenu1; GradTabControl1.ActivePage.TabPopupMenu := PopupMenu1;
GradTabControl1.CurrentPage.PopupMenu:= PopupMenu1; GradTabControl1.ActivePage.PopupMenu:= PopupMenu1;
ComboBox1.ItemIndex:=ComboBox1.Items.Add('tab_'+IntToStr(C)); ComboBox1.ItemIndex:=ComboBox1.Items.Add('tab_'+IntToStr(C));
end; end;
@ -327,17 +396,92 @@ begin
GradTabControl1.PagesBar.MoveToNorm; GradTabControl1.PagesBar.MoveToNorm;
end; end;
procedure TForm1.GradTabControl1DragDrop(Sender, Source: TObject; X, Y: Integer
);
begin
DebugLn('DragDrop X=%d Y=%d',[X,Y]);
end;
procedure TForm1.GradTabControl1DragOver(Sender, Source: TObject; X,
Y: Integer; State: TDragState; var Accept: Boolean);
begin
DebugLn('Name=%s',[Sender.ClassName]);
if (Sender is TGradTabControl) then Accept := True;
end;
procedure TForm1.GradTabControl1MouseDown(Sender: TObject;
Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
ShowMessage('Jep');
end;
procedure TForm1.GradTabControl1MouseMove(Sender: TObject; Shift: TShiftState;
X, Y: Integer);
begin
DebugLn('X=%d Y=%d',[X,Y]);
end;
procedure TForm1.GradTabControl1MouseWheelDown(Sender: TObject;
Shift: TShiftState; MousePos: TPoint; var Handled: Boolean);
var
NewNum : Integer;
begin
NewNum:= GradTabControl1.CurrentPageNum;
Inc(NewNum);
GradTabControl1.CurrentPageNum:=NewNum;
end;
procedure TForm1.GradTabControl1MouseWheelUp(Sender: TObject;
Shift: TShiftState; MousePos: TPoint; var Handled: Boolean);
var
NewNum : Integer;
begin
NewNum:= GradTabControl1.CurrentPageNum;
Dec(NewNum);
GradTabControl1.CurrentPageNum:=NewNum;
end;
procedure TForm1.GradTabControl1PageChanged(Sender: TObject);
begin
with GradTabControl1 do
ComboBox1.Text:=Tabs[CurrentPageNum];
end;
procedure TForm1.GradTabControl1PagesBarDragOver(Sender, Source: TObject; X,
Y: Integer; State: TDragState; var Accept: Boolean);
begin
DebugLn('Name=%s',[Sender.ClassName]);
if (Sender is TGradTabPagesBar) then Accept := True;
end;
procedure TForm1.GradTabControl1TabButtonClick(GradTabControl: TGradTabControl; procedure TForm1.GradTabControl1TabButtonClick(GradTabControl: TGradTabControl;
AIndex: Integer); AIndex: Integer);
begin begin
ShowMessage('TabClicked: Index: '+IntToStr(AIndex)+' Caption: '+GradTabControl.Page[AIndex].Caption); //ShowMessage('TabClicked: Index: '+IntToStr(AIndex)+' Caption: '+GradTabControl.Page[AIndex].Caption);
end;
procedure TForm1.GradTabControl1TabButtonMouseDown(
GradTabControl: TGradTabControl; Button: TMouseButton; Shift: TShiftState; X,
Y, AIndex: Integer);
begin
if ssCtrl in Shift then
GradTabControl1.BeginDrag(False);
end;
procedure TForm1.GradTabControl1TabButtonMouseMove(
GradTabControl: TGradTabControl; Shift: TShiftState; X, Y, AIndex: Integer);
var
TabRect : TRect;
begin
//TabRect := GradTabControl.GetTabRect(Aindex);
//DebugLn('X=%d Y=%d AIndex=%d',[X+TabRect.Left,Y+TabRect.Top,AIndex]);
end; end;
procedure TForm1.GradTabControl1TabButtonMouseUp( procedure TForm1.GradTabControl1TabButtonMouseUp(
GradTabControl: TGradTabControl; Button: TMouseButton; Shift: TShiftState; X, GradTabControl: TGradTabControl; Button: TMouseButton; Shift: TShiftState; X,
Y, AIndex: Integer); Y, AIndex: Integer);
begin begin
ShowMessage('TabMouseUp: Index: '+IntToStr(AIndex)+' Caption: '+GradTabControl.Page[AIndex].Caption); //ShowMessage('TabMouseUp: Index: '+IntToStr(AIndex)+' Caption: '+GradTabControl.Page[AIndex].Caption);
if Button=mbMiddle then if Button=mbMiddle then
begin begin
@ -362,6 +506,41 @@ begin
end; end;
end; end;
procedure TForm1.PageControl1DragDrop(Sender, Source: TObject; X, Y: Integer);
const
TCM_GETITEMRECT = $130A;
var
TabRect: TRect;
j: Integer;
begin
if (Sender is TGradTabControl) then
for j := 0 to GradTabControl1.PageCount - 1 do
begin
//GradTabControl1.Perform(TCM_GETITEMRECT, j, LParam(@TabRect)) ;
TabRect := GradTabControl1.GetTabRect(j);
DebugLn('X=%d Y=%d T.L=%d T.T=%d T.R=%d T.B=%d',[X,Y,TabRect.Left, TabRect.Top, TabRect.Right, TabRect.Bottom]);
if PtInRect(TabRect, Point(X, Y)) then
begin
if GradTabControl1.ActivePage.PageIndex <> j then
GradTabControl1.ActivePage.PageIndex := j;
Exit;
end;
end;
end;
procedure TForm1.PageControl1DragOver(Sender, Source: TObject; X, Y: Integer;
State: TDragState; var Accept: Boolean);
begin
DebugLn('Name=%s',[Sender.ClassName]);
if (Sender is TGradTabControl) then Accept := True;
end;
procedure TForm1.PageControl1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
PageControl1.BeginDrag(False) ;
end;
procedure TForm1.Panel2Click(Sender: TObject); procedure TForm1.Panel2Click(Sender: TObject);
begin begin

View File

@ -6,7 +6,6 @@
<General> <General>
<SessionStorage Value="InProjectDir"/> <SessionStorage Value="InProjectDir"/>
<MainUnit Value="0"/> <MainUnit Value="0"/>
<IconPath Value="./"/>
<TargetFileExt Value=".exe"/> <TargetFileExt Value=".exe"/>
<Title Value="gradcontroltest"/> <Title Value="gradcontroltest"/>
<UseAppBundle Value="False"/> <UseAppBundle Value="False"/>
@ -15,7 +14,7 @@
<VersionInfo> <VersionInfo>
<UseVersionInfo Value="True"/> <UseVersionInfo Value="True"/>
<AutoIncrementBuild Value="True"/> <AutoIncrementBuild Value="True"/>
<CurrentBuildNr Value="607"/> <CurrentBuildNr Value="805"/>
<ProjectVersion Value="0.0.0.0"/> <ProjectVersion Value="0.0.0.0"/>
</VersionInfo> </VersionInfo>
<PublishOptions> <PublishOptions>

View File

@ -14,6 +14,8 @@ uses
{$IFDEF WINDOWS}{$R manifest.rc}{$ENDIF} {$IFDEF WINDOWS}{$R manifest.rc}{$ENDIF}
{$IFDEF WINDOWS}{$R gradcontroltest.rc}{$ENDIF}
begin begin
Application.Initialize; Application.Initialize;
Application.CreateForm(TForm1,Form1); Application.CreateForm(TForm1,Form1);

View File

@ -33,7 +33,8 @@ type
TGradButton = class(TCustomControl) TGradButton = class(TCustomControl)
private private
FAutoWidthBorderSpacing: Integer; FAutoWidthBorderSpacing: Integer;
FOnMouseMove: TMouseMoveEvent;
FRotateDirection : TRotateDirection; FRotateDirection : TRotateDirection;
FTextAlignment : TTextAlignment; FTextAlignment : TTextAlignment;
FButtonLayout: TButtonLayout; FButtonLayout: TButtonLayout;
@ -125,7 +126,7 @@ type
property OnMouseDown; property OnMouseDown;
property OnMouseEnter; property OnMouseEnter;
property OnMouseLeave; property OnMouseLeave;
property OnMouseMove; property OnMouseMove: TMouseMoveEvent read FOnMouseMove write FOnMouseMove;
property OnMouseUp; property OnMouseUp;
property OnPaint; property OnPaint;
property OnResize; property OnResize;
@ -1081,16 +1082,23 @@ procedure TGradButton.MouseMove(Shift: TShiftState;
X, Y: Integer); X, Y: Integer);
begin begin
//WriteLn('MouseMove'); //WriteLn('MouseMove');
if PtInRect(Rect(0,0,Width,Height),Point(X,Y)) then //if PtInRect(Rect(0,0,Width,Height),Point(X,Y)) then
begin begin
inherited; //
if ssLeft in Shift then if ssLeft in Shift then
FState := bsDown FState := bsDown
else else
FState := bsHot; FState := bsHot;
InvPaint(true); InvPaint(true);
if Assigned(FOnMouseMove) then begin
//DebugLn('X=%d Y=%d',[X,Y]);
FOnMouseMove(Self, Shift, X,Y);
end;
//inherited;
end; end;
end; end;

View File

@ -0,0 +1,6 @@
LazarusResources.Add('close_btn','PNG',[
#137'PNG'#13#10#26#10#0#0#0#13'IHDR'#0#0#0#10#0#0#0#10#8#6#0#0#0#141'2'#207
+#189#0#0#0'0IDATx'#218'c````d '#1#252#135'b'#130#226#255#177#8#254#199'e'#192
+''#28#24#175#19#240'*b '#215'4'#130#238#195#235#25#162#131#135' '#0#0#177'5'
+''''#218'{1'#230#136#0#0#0#0'IEND'#174'B`'#130
]);

File diff suppressed because it is too large Load Diff