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
Left = 270
Left = 254
Height = 506
Top = 98
Top = 116
Width = 898
Caption = 'Form1'
ClientHeight = 506
ClientWidth = 898
OnCreate = FormCreate
OnDestroy = FormDestroy
OnMouseWheel = FormMouseWheel
OnMouseWheelDown = FormMouseWheelDown
OnMouseWheelUp = FormMouseWheelUp
ParentFont = False
LCLVersion = '0.9.27'
object Panel1: TPanel
@ -27,10 +30,88 @@ object Form1: TForm1
Width = 749
Align = alClient
ControlStyle = [csAcceptsControls]
PageIndex = -1
TabHeight = 30
TabPosition = tpLeft
ActivePage = GradTabPage1
OnTabButtonClick = GradTabControl1TabButtonClick
OnTabButtonMouseDown = GradTabControl1TabButtonMouseDown
OnTabButtonMouseUp = GradTabControl1TabButtonMouseUp
OnTabButtonMouseMove = GradTabControl1TabButtonMouseMove
OnDragDrop = GradTabControl1DragDrop
OnDragOver = GradTabControl1DragOver
OnMouseDown = GradTabControl1MouseDown
OnMouseWheelUp = GradTabControl1MouseWheelUp
OnMouseWheelDown = GradTabControl1MouseWheelDown
OnPagesBarDragOver = GradTabControl1PagesBarDragOver
TabHeight = 20
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
object Panel2: TPanel
@ -63,9 +144,9 @@ object Form1: TForm1
TabOrder = 0
end
object RadioGroup1: TRadioGroup
Left = 17
Left = 21
Height = 113
Top = 80
Top = 144
Width = 100
AutoFill = True
Caption = 'Tab Position'
@ -95,7 +176,6 @@ object Form1: TForm1
Top = 276
Width = 75
Caption = 'Long Tabs'
Enabled = False
OnClick = CheckBox1Click
TabOrder = 3
end
@ -110,12 +190,13 @@ object Form1: TForm1
TabOrder = 1
Value = 50
end
object GradButton1: TGradButton
object NewPageBtn: TGradButton
Left = 16
Height = 25
Top = 48
Width = 104
Width = 100
Caption = 'New Page'
Font.Color = clWhite
OnClick = BewegeBtn
TabOrder = 4
TabStop = True
@ -141,6 +222,29 @@ object Form1: TForm1
OnChange = SpinEdit2Change
TabOrder = 5
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
object Splitter1: TSplitter
Left = 751
@ -154,10 +258,4 @@ object Form1: TForm1
Caption = 'New Item1'
end
end
object SynPHPSyn1: TSynPHPSyn
DefaultFilter = 'PHP-Dateien (*.php,*.php3,*.phtml,*.inc)|*.php;*.php3;*.phtml;*.inc'
Enabled = False
left = 115
top = 255
end
end

View File

@ -1,51 +1,83 @@
{ Das ist eine automatisch erzeugte Lazarus-Ressourcendatei }
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'
+'h'#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'
+'Font'#8#10'LCLVersion'#6#6'0.9.27'#0#6'TPanel'#6'Panel1'#6'Height'#3#250#1#5
+'Width'#3#239#2#5'Align'#7#6'alLeft'#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRi'
+'ght'#8'akBottom'#0#7'Caption'#6#6'Panel1'#12'ClientHeight'#3#250#1#11'Clien'
+'tWidth'#3#239#2#8'TabOrder'#2#0#7'OnClick'#7#9'BewegeBtn'#0#15'TGradTabCont'
+'rol'#15'GradTabControl1'#4'Left'#2#1#6'Height'#3#248#1#3'Top'#2#1#5'Width'#3
+#237#2#5'Align'#7#8'alClient'#12'ControlStyle'#11#17'csAcceptsControls'#0#9
+'PageIndex'#2#255#9'TabHeight'#2#30#11'TabPosition'#7#6'tpLeft'#13'MoveIncre'
+'ment'#2#1#0#0#0#6'TPanel'#6'Panel2'#4'Left'#3#244#2#6'Height'#3#250#1#5'Wid'
+'th'#3#142#0#5'Align'#7#8'alClient'#7'Caption'#6#6'Panel2'#12'ClientHeight'#3
+#250#1#11'ClientWidth'#3#142#0#8'TabOrder'#2#2#7'OnClick'#7#11'Panel2Click'#0
+#6'TLabel'#6'Label1'#4'Left'#2#15#6'Height'#2#14#3'Top'#3'0'#1#5'Width'#2'O'
+#7'Caption'#6#14'Move Increment'#11'ParentColor'#8#0#0#9'TComboBox'#9'ComboB'
+'ox1'#4'Left'#2#16#6'Height'#2#21#3'Top'#2#16#5'Width'#2'd'#10'ItemHeight'#2
+#13#9'MaxLength'#2#255#8'OnChange'#7#15'ComboBox1Change'#5'Style'#7#14'csDro'
+'pDownList'#8'TabOrder'#2#0#0#0#11'TRadioGroup'#11'RadioGroup1'#4'Left'#2#17
+#6'Height'#2'q'#3'Top'#2'P'#5'Width'#2'd'#8'AutoFill'#9#7'Caption'#6#12'Tab '
+'Position'#28'ChildSizing.LeftRightSpacing'#2#6#28'ChildSizing.TopBottomSpac'
+'ing'#2#6#29'ChildSizing.EnlargeHorizontal'#7#24'crsHomogenousChildResize'#27
+'ChildSizing.EnlargeVertical'#7#24'crsHomogenousChildResize'#28'ChildSizing.'
+'ShrinkHorizontal'#7#14'crsScaleChilds'#26'ChildSizing.ShrinkVertical'#7#14
+'crsScaleChilds'#18'ChildSizing.Layout'#7#29'cclLeftToRightThenTopToBottom'
+#27'ChildSizing.ControlsPerLine'#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'OnClick'#7#16'RadioGroup1Click'#8'TabOrder'#2#2#0#0#9'TChe'
+'ckBox'#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'Enabled'#8#7'OnClick'#7#14'CheckBox1Click'#8'Ta'
+'bOrder'#2#3#0#0#9'TSpinEdit'#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'S'
+'pinEdit1EditingDone'#8'TabOrder'#2#1#5'Value'#2'2'#0#0#11'TGradButton'#11'G'
+'radButton1'#4'Left'#2#16#6'Height'#2#25#3'Top'#2'0'#5'Width'#2'h'#7'Caption'
+#6#8'New Page'#7'OnClick'#7#9'BewegeBtn'#8'TabOrder'#2#4#7'TabStop'#9#11'Nor'
+'malBlend'#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#20'GlyphBackgroundColor'#7#7'clWhite'#10'C'
+'lickColor'#7#6'clBlue'#22'AutoWidthBorderSpacing'#2#15#0#0#9'TSpinEdit'#9'S'
+'pinEdit2'#4'Left'#2#15#6'Height'#2#23#3'Top'#3'@'#1#5'Width'#2'O'#8'MinValu'
+'e'#2#156#8'OnChange'#7#15'SpinEdit2Change'#8'TabOrder'#2#5#0#0#0#9'TSplitte'
+'r'#9'Splitter1'#4'Left'#3#239#2#6'Height'#3#250#1#5'Width'#2#5#0#0#10'TPopu'
+'pMenu'#10'PopupMenu1'#4'left'#3#222#2#3'top'#3#141#1#0#9'TMenuItem'#9'MenuI'
+'tem1'#7'Caption'#6#9'New Item1'#0#0#0#10'TSynPHPSyn'#10'SynPHPSyn1'#13'Defa'
+'ultFilter'#6'CPHP-Dateien (*.php,*.php3,*.phtml,*.inc)|*.php;*.php3;*.phtml'
+';*.inc'#7'Enabled'#8#4'left'#2's'#3'top'#3#255#0#0#0#0
'TPF0'#6'TForm1'#5'Form1'#4'Left'#3#254#0#6'Height'#3#250#1#3'Top'#2't'#5'Wid'
+'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'#12'OnMous'
+'eWheel'#7#14'FormMouseWheel'#16'OnMouseWheelDown'#7#18'FormMouseWheelDown'
+#14'OnMouseWheelUp'#7#16'FormMouseWheelUp'#10'ParentFont'#8#10'LCLVersion'#6
+#6'0.9.27'#0#6'TPanel'#6'Panel1'#6'Height'#3#250#1#5'Width'#3#239#2#5'Align'
+#7#6'alLeft'#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#8'akBottom'#0#7'Cap'
+'tion'#6#6'Panel1'#12'ClientHeight'#3#250#1#11'ClientWidth'#3#239#2#8'TabOrd'
+'er'#2#0#7'OnClick'#7#9'BewegeBtn'#0#15'TGradTabControl'#15'GradTabControl1'
+#4'Left'#2#1#6'Height'#3#248#1#3'Top'#2#1#5'Width'#3#237#2#5'Align'#7#8'alCl'
+'ient'#12'ControlStyle'#11#17'csAcceptsControls'#0#10'ActivePage'#7#12'GradT'
+'abPage1'#16'OnTabButtonClick'#7#29'GradTabControl1TabButtonClick'#20'OnTabB'
+'uttonMouseDown'#7'!GradTabControl1TabButtonMouseDown'#18'OnTabButtonMouseUp'
+#7#31'GradTabControl1TabButtonMouseUp'#20'OnTabButtonMouseMove'#7'!GradTabCo'
+'ntrol1TabButtonMouseMove'#10'OnDragDrop'#7#23'GradTabControl1DragDrop'#10'O'
+'nDragOver'#7#23'GradTabControl1DragOver'#11'OnMouseDown'#7#24'GradTabContro'
+'l1MouseDown'#14'OnMouseWheelUp'#7#27'GradTabControl1MouseWheelUp'#16'OnMous'
+'eWheelDown'#7#29'GradTabControl1MouseWheelDown'#18'OnPagesBarDragOver'#7#31
+'GradTabControl1PagesBarDragOver'#9'TabHeight'#2#20#13'MoveIncrement'#2#1#13
+'OnPageChanged'#7#26'GradTabControl1PageChanged'#0#12'TGradTabPage'#12'GradT'
+'abPage2'#4'Left'#2#2#6'Height'#3#224#1#3'Top'#2#22#5'Width'#3#233#2#9'PageI'
+'ndex'#2#1#7'Caption'#6#12'GradTabPage2'#0#12'TPageControl'#12'PageControl1'
+#4'Left'#3#173#0#6'Height'#3#200#0#3'Top'#2'9'#5'Width'#3#200#0#10'ActivePag'
+'e'#7#9'TabSheet3'#8'TabIndex'#2#2#8'TabOrder'#2#0#10'OnDragDrop'#7#20'PageC'
+'ontrol1DragDrop'#10'OnDragOver'#7#20'PageControl1DragOver'#11'OnMouseDown'#7
+#21'PageControl1MouseDown'#0#9'TTabSheet'#9'TabSheet1'#7'Caption'#6#9'TabShe'
+'et1'#0#0#9'TTabSheet'#9'TabSheet2'#7'Caption'#6#9'TabSheet2'#0#0#9'TTabShee'
+'t'#9'TabSheet3'#7'Caption'#6#9'TabSheet3'#0#0#0#7'TButton'#7'Button2'#4'Lef'
+'t'#2'/'#6'Height'#2#25#3'Top'#2#28#5'Width'#2'K'#7'Caption'#6#7'Button2'#8
+'TabOrder'#2#1#0#0#6'TPanel'#6'Panel3'#4'Left'#3#173#1#6'Height'#2'2'#3'Top'
+#2'Y'#5'Width'#3#170#0#7'Caption'#6#6'Panel3'#8'TabOrder'#2#2#0#0#0#12'TGrad'
+'TabPage'#12'GradTabPage1'#4'Left'#2#2#6'Height'#3#224#1#3'Top'#2#22#5'Width'
+#3#233#2#7'Caption'#6#12'GradTabPage1'#0#7'TButton'#7'Button1'#4'Left'#2'^'#6
+'Height'#2#25#3'Top'#2'2'#5'Width'#2'K'#7'Caption'#6#7'Button1'#8'TabOrder'#2
+#0#0#0#10'TToggleBox'#10'ToggleBox2'#4'Left'#3'e'#1#6'Height'#2#23#3'Top'#3
+#155#0#5'Width'#2'Z'#7'Caption'#6#10'ToggleBox2'#8'TabOrder'#2#1#0#0#0#0#0#6
+'TPanel'#6'Panel2'#4'Left'#3#244#2#6'Height'#3#250#1#5'Width'#3#142#0#5'Alig'
+'n'#7#8'alClient'#7'Caption'#6#6'Panel2'#12'ClientHeight'#3#250#1#11'ClientW'
+'idth'#3#142#0#8'TabOrder'#2#2#7'OnClick'#7#11'Panel2Click'#0#6'TLabel'#6'La'
+'bel1'#4'Left'#2#15#6'Height'#2#14#3'Top'#3'0'#1#5'Width'#2'O'#7'Caption'#6
+#14'Move Increment'#11'ParentColor'#8#0#0#9'TComboBox'#9'ComboBox1'#4'Left'#2
+#16#6'Height'#2#21#3'Top'#2#16#5'Width'#2'd'#10'ItemHeight'#2#13#9'MaxLength'
+#2#255#8'OnChange'#7#15'ComboBox1Change'#5'Style'#7#14'csDropDownList'#8'Tab'
+'Order'#2#0#0#0#11'TRadioGroup'#11'RadioGroup1'#4'Left'#2#21#6'Height'#2'q'#3
+'Top'#3#144#0#5'Width'#2'd'#8'AutoFill'#9#7'Caption'#6#12'Tab Position'#28'C'
+'hildSizing.LeftRightSpacing'#2#6#28'ChildSizing.TopBottomSpacing'#2#6#29'Ch'
+'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 ^^
ToDo:
- TGradTabBar & TGradTabPagesBar mit sortieren von Tabs "ausstatten"
- TabPosition einbauen, sowie das zeichnen und anordnen der Tabs/Pages ändern
- CurrentPage-Button ohne Abstand
- IDE Testen hoffe es geht *g*
Danach:
- Eigene Page Classen zu ordnen ( bräuchte ich zumindest ^^ ) - Feddich
- Tabs disable-n
- noch welche Wünsche? xD
- Testen testen testen und voila wir haben eine neue komponente :D
@ -26,11 +23,11 @@ unit Unit1;
interface
uses
Classes, SysUtils, LResources, Forms, Controls, Graphics, Dialogs, ExtCtrls,
ugradbtn, StdCtrls, ComCtrls, LCLType, LCLProc, Buttons, ugradtabcontrol,
windows, Classes, SysUtils, LResources, Forms, Controls, Graphics, Dialogs, ExtCtrls,
ugradbtn, StdCtrls, ComCtrls, LCLType, LCLProc, LCLIntf, Buttons, ugradtabcontrol,
Menus, Spin, ButtonPanel,
MaskEdit, DBGrids, DbCtrls, EditBtn, Arrow,
SynHighlighterPHP, Grids, SynEdit;
SynHighlighterPHP, Grids, SynEdit, SynMemo;
type
@ -41,15 +38,20 @@ type
{ TForm1 }
TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
CheckBox1: TCheckBox;
ComboBox1: TComboBox;
Edit1: TEdit;
GradButton1: TGradButton;
GradTabPage1: TGradTabPage;
GradTabPage2: TGradTabPage;
NewPageBtn: TGradButton;
DeleteBtn: TGradButton;
GradTabControl1: TGradTabControl;
Label1: TLabel;
Memo1: TMemo;
Memo2: TMemo;
MenuItem1: TMenuItem;
PageControl1: TPageControl;
Panel1: TPanel;
Panel2: TPanel;
Panel3: TPanel;
@ -59,14 +61,22 @@ type
SpinEdit2: TSpinEdit;
Splitter1: TSplitter;
StringGrid1: TStringGrid;
SynEdit1: TSynEdit;
SynPHPSyn1: TSynPHPSyn;
TabSheet1: TTabSheet;
TabSheet2: TTabSheet;
TabSheet3: TTabSheet;
ToggleBox2: TToggleBox;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure CheckBox1Click(Sender: TObject);
procedure ComboBox1Change(Sender: TObject);
procedure FormCreate(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 GradButton1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
@ -76,16 +86,41 @@ type
Y: Integer);
procedure GradButton1MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure GradButton2Click(Sender: TObject);
procedure DeleteBtnClick(Sender: TObject);
procedure BewegeBtn(Sender: TObject);
procedure GradButton3Click(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;
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;
Button: TMouseButton; Shift: TShiftState; X, Y, AIndex: Integer);
procedure GradTabControl2TabButtonClick(GradTabControl: TGradTabControl;
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 RadioGroup1Click(Sender: TObject);
procedure SpinEdit1EditingDone(Sender: TObject);
@ -105,7 +140,6 @@ var
implementation
{ TForm1 }
procedure TForm1.FormCreate(Sender: TObject);
@ -194,7 +228,7 @@ begin
WriteLn(BoolToStr(GradTabControl1.Pages[0] <> nil,true));
GradButton1.Parent := GradTabControl1.Pages[0];
NewPageBtn.Parent := GradTabControl1.Pages[0];
BitBtn1.Parent := GradTabControl1.Pages[0];
}
//GradButton3Click(GradButton3);
@ -247,6 +281,24 @@ begin
GradTabControl1.Free;
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);
begin
@ -280,19 +332,36 @@ begin
end;
procedure TForm1.GradButton2Click(Sender: TObject);
procedure TForm1.DeleteBtnClick(Sender: TObject);
var
C : Integer;
T : String;
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;
procedure TForm1.BewegeBtn(Sender: TObject);
var
C,R,G,B : Integer;
newName : String;
begin
C := GradTabControl1.Tabs.Count;
GradTabControl1.Tabs.Add('tab_'+IntToStr(C));
C := -1;
repeat
Inc(C);
newName := 'tab_'+IntToStr(C);
until(GradTabControl1.Tabs.IndexOf(newName)=-1);
GradTabControl1.Tabs.Add(newName);
Randomize;
@ -301,10 +370,10 @@ begin
B := Random(255)+1;
//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.TabPopupMenu := PopupMenu1;
GradTabControl1.CurrentPage.PopupMenu:= PopupMenu1;
GradTabControl1.ActivePage.TabPopupMenu := PopupMenu1;
GradTabControl1.ActivePage.PopupMenu:= PopupMenu1;
ComboBox1.ItemIndex:=ComboBox1.Items.Add('tab_'+IntToStr(C));
end;
@ -327,17 +396,92 @@ begin
GradTabControl1.PagesBar.MoveToNorm;
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;
AIndex: Integer);
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;
procedure TForm1.GradTabControl1TabButtonMouseUp(
GradTabControl: TGradTabControl; Button: TMouseButton; Shift: TShiftState; X,
Y, AIndex: Integer);
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
begin
@ -362,6 +506,41 @@ begin
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);
begin

View File

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

View File

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

View File

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