fix work TToolBar in latest lazarus

git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@1180 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
alexs75
2010-03-15 17:56:12 +00:00
parent 990689bb63
commit 5bccf8036a
5 changed files with 189 additions and 126 deletions

View File

@ -2,8 +2,10 @@
<fpdoc-descriptions>
<package name="dcl_rx_fpc">
<short>Пакет времени разработки</short>
<descr>Данный пакет содержит в себе вспомогательные классы и утилиты, которые необходимы во время разработки программы.
Все эти данные не испошльзуются во время работы готовой программы, поэтому этот код е включается в финальнуе версии программ</descr>
<descr>
<p>Данный пакет содержит в себе вспомогательные классы и утилиты, которые необходимы во время разработки программы.</p>
<p>Все эти данные не используются во время работы готовой программы, поэтому этот код не включается в финальные версии программ.</p>
</descr>
</package>
<package name="rxfpc">
<module name="rxdbgrid">
@ -154,6 +156,7 @@
<link id="TRxDBGrid">RxDBGrid</link>-а.</p>
</descr>
</element>
@ -550,6 +553,7 @@
<link id="TRxDBGrid">RxDBGrid</link>-а.</p>
</descr>
<seealso>
@ -1096,6 +1100,7 @@ TRxDBCalcEdit является наследником TDBCalcEdit и имеет
<b>Count</b>
@ -1140,6 +1145,7 @@ TRxDBCalcEdit является наследником TDBCalcEdit и имеет
<b>Execute</b> и по содержимому которого будет произведено заполнение массива Files</descr>
@ -2380,6 +2386,7 @@ Description
<b>const</b> SearchDomain, FileName:
@ -2395,6 +2402,7 @@ Description
<b>String</b>;
@ -2410,6 +2418,7 @@ Description
<b>out</b> UserName, DomainName:
@ -2425,6 +2434,7 @@ Description
<b>String</b>);
</p>
<p>Процедура возвращает имя и домен пользователя операционной системы владельца указанного файла. </p>
@ -2457,6 +2467,7 @@ Description
<b>const</b> DirName:
@ -2466,6 +2477,7 @@ Description
<b>string</b>):
@ -2475,6 +2487,7 @@ Description
<b>string</b>;</p>
<p>Функция проверяет все разделители каталогов в указанном имени файла/каталога и, если нужно, меняет их на значение константы<b>DirectorySeparator</b>.</p>
</descr>
@ -2498,6 +2511,7 @@ Description
<b>string</b>;</p>
<p>Функция <b>GetUserName</b> возвращает имя оператора, залогиненго в системе</p>
</descr>

View File

@ -2400,10 +2400,21 @@ var
P:TBookmark;
DS:TDataSet;
i:integer;
// J:integer;
APresent:boolean;
begin
if (not ((rdgFooterRows in OptionsRx) and DatalinkActive)) or (Columns.Count = 0) then
Exit;
//Дополнительно проверим - а стоит ли делать пробег по данным - есть ли агрегатные функции
APresent:=false;
for i:=0 to Columns.Count - 1 do
begin
APresent:=TRxColumn(Columns[i]).Footer.FValueType in [fvtSum, fvtAvg, fvtMax, fvtMin];
if APresent then break;
end;
if not APresent then
exit;
inc(FInProcessCalc);
DS:=DataSource.DataSet;;
P := Ds.GetBookMark;

View File

@ -2,11 +2,11 @@ object ToolPanelSetupForm: TToolPanelSetupForm
Left = 383
Height = 487
Top = 176
Width = 659
Width = 657
ActiveControl = PageControl1
Caption = 'Tool panel setup'
ClientHeight = 487
ClientWidth = 659
ClientWidth = 657
FormStyle = fsStayOnTop
OnClose = FormClose
OnCreate = FormCreate
@ -18,7 +18,7 @@ object ToolPanelSetupForm: TToolPanelSetupForm
Left = 0
Height = 435
Top = 0
Width = 659
Width = 657
ActivePage = TabSheet1
Align = alClient
TabIndex = 0
@ -26,15 +26,15 @@ object ToolPanelSetupForm: TToolPanelSetupForm
object TabSheet1: TTabSheet
Caption = 'Visible buttons'
ClientHeight = 404
ClientWidth = 655
ClientWidth = 653
object Label1: TLabel
AnchorSideLeft.Control = BitBtn3
AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = TabSheet1
Left = 355
Left = 350
Height = 18
Top = 6
Width = 117
Width = 118
BorderSpacing.Around = 6
Caption = 'Avaliable buttons'
FocusControl = ListBtnAvaliable
@ -45,7 +45,7 @@ object ToolPanelSetupForm: TToolPanelSetupForm
Left = 8
Height = 18
Top = 6
Width = 103
Width = 102
BorderSpacing.Around = 6
Caption = 'Visible buttons'
FocusControl = ListBtnVisible
@ -57,10 +57,10 @@ object ToolPanelSetupForm: TToolPanelSetupForm
AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = BitBtn6
AnchorSideRight.Side = asrBottom
Left = 306
Left = 309
Height = 30
Top = 152
Width = 43
Top = 148
Width = 35
Anchors = [akTop, akLeft, akRight]
BorderSpacing.Top = 6
BorderSpacing.InnerBorder = 2
@ -75,10 +75,10 @@ object ToolPanelSetupForm: TToolPanelSetupForm
AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = BitBtn6
AnchorSideRight.Side = asrBottom
Left = 306
Height = 33
Top = 113
Width = 43
Left = 309
Height = 31
Top = 111
Width = 35
Anchors = [akTop, akLeft, akRight]
AutoSize = True
BorderSpacing.Top = 6
@ -94,10 +94,10 @@ object ToolPanelSetupForm: TToolPanelSetupForm
AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = BitBtn6
AnchorSideRight.Side = asrBottom
Left = 306
Left = 309
Height = 38
Top = 69
Width = 43
Top = 67
Width = 35
Anchors = [akTop, akLeft, akRight]
BorderSpacing.Top = 6
BorderSpacing.InnerBorder = 2
@ -110,10 +110,10 @@ object ToolPanelSetupForm: TToolPanelSetupForm
AnchorSideLeft.Control = TabSheet1
AnchorSideLeft.Side = asrCenter
AnchorSideTop.Control = ListBtnAvaliable
Left = 306
Height = 33
Left = 309
Height = 31
Top = 30
Width = 43
Width = 35
AutoSize = True
BorderSpacing.InnerBorder = 2
Caption = '>>'
@ -129,10 +129,10 @@ object ToolPanelSetupForm: TToolPanelSetupForm
AnchorSideRight.Control = TabSheet1
AnchorSideRight.Side = asrBottom
AnchorSideBottom.Control = cbShowCaption
Left = 355
Left = 350
Height = 275
Top = 30
Width = 294
Width = 297
Anchors = [akTop, akLeft, akRight, akBottom]
BorderSpacing.Around = 6
Items.Strings = (
@ -159,7 +159,7 @@ object ToolPanelSetupForm: TToolPanelSetupForm
Left = 14
Height = 275
Top = 30
Width = 286
Width = 289
Anchors = [akTop, akLeft, akRight, akBottom]
BorderSpacing.Around = 6
ItemHeight = 0
@ -175,7 +175,7 @@ object ToolPanelSetupForm: TToolPanelSetupForm
Left = 3
Height = 62
Top = 336
Width = 643
Width = 641
Alignment = taLeftJustify
Anchors = [akLeft, akRight, akBottom]
BorderSpacing.Around = 6
@ -189,7 +189,7 @@ object ToolPanelSetupForm: TToolPanelSetupForm
Left = 6
Height = 19
Top = 311
Width = 113
Width = 112
Anchors = [akLeft, akBottom]
BorderSpacing.Around = 6
Caption = 'Show caption'
@ -200,14 +200,14 @@ object ToolPanelSetupForm: TToolPanelSetupForm
object TabSheet2: TTabSheet
Caption = 'Options'
ClientHeight = 404
ClientWidth = 655
ClientWidth = 653
object cbShowHint: TCheckBox
AnchorSideLeft.Control = TabSheet2
AnchorSideTop.Control = cbTransp
AnchorSideTop.Side = asrBottom
Left = 6
Height = 19
Top = 159
Top = 148
Width = 88
BorderSpacing.Around = 6
Caption = 'Show hint'
@ -219,8 +219,8 @@ object ToolPanelSetupForm: TToolPanelSetupForm
AnchorSideTop.Side = asrBottom
Left = 6
Height = 19
Top = 134
Width = 102
Top = 123
Width = 101
BorderSpacing.Around = 6
Caption = 'Transparent'
TabOrder = 1
@ -231,8 +231,8 @@ object ToolPanelSetupForm: TToolPanelSetupForm
AnchorSideTop.Side = asrBottom
Left = 6
Height = 19
Top = 109
Width = 102
Top = 98
Width = 101
BorderSpacing.Around = 6
Caption = 'Flat buttons'
TabOrder = 2
@ -243,12 +243,13 @@ object ToolPanelSetupForm: TToolPanelSetupForm
AnchorSideTop.Control = TabSheet2
AnchorSideRight.Control = TabSheet2
AnchorSideRight.Side = asrBottom
Left = 335
Height = 97
Left = 334
Height = 86
Top = 6
Width = 314
Width = 313
Anchors = [akTop, akLeft, akRight]
AutoFill = False
AutoSize = True
BorderSpacing.Around = 6
Caption = 'Button align'
ChildSizing.LeftRightSpacing = 6
@ -257,8 +258,8 @@ object ToolPanelSetupForm: TToolPanelSetupForm
ChildSizing.ShrinkVertical = crsScaleChilds
ChildSizing.Layout = cclLeftToRightThenTopToBottom
ChildSizing.ControlsPerLine = 1
ClientHeight = 76
ClientWidth = 306
ClientHeight = 69
ClientWidth = 313
Items.Strings = (
'None'
'Left'
@ -272,9 +273,9 @@ object ToolPanelSetupForm: TToolPanelSetupForm
AnchorSideTop.Control = TabSheet2
AnchorSideRight.Control = Panel2
Left = 6
Height = 90
Height = 86
Top = 6
Width = 314
Width = 313
Anchors = [akTop, akLeft, akRight]
AutoFill = True
AutoSize = True
@ -289,7 +290,7 @@ object ToolPanelSetupForm: TToolPanelSetupForm
ChildSizing.Layout = cclLeftToRightThenTopToBottom
ChildSizing.ControlsPerLine = 1
ClientHeight = 69
ClientWidth = 306
ClientWidth = 313
Items.Strings = (
'Standart'
'Windows XP'
@ -304,7 +305,7 @@ object ToolPanelSetupForm: TToolPanelSetupForm
AnchorSideTop.Control = TabSheet2
AnchorSideBottom.Control = TabSheet2
AnchorSideBottom.Side = asrBottom
Left = 326
Left = 325
Height = 392
Top = 6
Width = 3
@ -318,7 +319,7 @@ object ToolPanelSetupForm: TToolPanelSetupForm
Left = 6
Height = 40
Top = 441
Width = 647
Width = 645
TabOrder = 1
ShowButtons = [pbClose, pbHelp]
end

View File

@ -2,51 +2,51 @@
LazarusResources.Add('TToolPanelSetupForm','FORMDATA',[
'TPF0'#19'TToolPanelSetupForm'#18'ToolPanelSetupForm'#4'Left'#3#127#1#6'Heigh'
+'t'#3#231#1#3'Top'#3#176#0#5'Width'#3#147#2#13'ActiveControl'#7#12'PageContr'
+'t'#3#231#1#3'Top'#3#176#0#5'Width'#3#145#2#13'ActiveControl'#7#12'PageContr'
+'ol1'#7'Caption'#6#16'Tool panel setup'#12'ClientHeight'#3#231#1#11'ClientWi'
+'dth'#3#147#2#9'FormStyle'#7#11'fsStayOnTop'#7'OnClose'#7#9'FormClose'#8'OnC'
+'dth'#3#145#2#9'FormStyle'#7#11'fsStayOnTop'#7'OnClose'#7#9'FormClose'#8'OnC'
+'reate'#7#10'FormCreate'#9'OnDestroy'#7#11'FormDestroy'#8'OnResize'#7#10'For'
+'mResize'#8'Position'#7#14'poScreenCenter'#10'LCLVersion'#6#6'0.9.29'#0#12'T'
+'PageControl'#12'PageControl1'#4'Left'#2#0#6'Height'#3#179#1#3'Top'#2#0#5'Wi'
+'dth'#3#147#2#10'ActivePage'#7#9'TabSheet1'#5'Align'#7#8'alClient'#8'TabInde'
+'dth'#3#145#2#10'ActivePage'#7#9'TabSheet1'#5'Align'#7#8'alClient'#8'TabInde'
+'x'#2#0#8'TabOrder'#2#0#0#9'TTabSheet'#9'TabSheet1'#7'Caption'#6#15'Visible '
+'buttons'#12'ClientHeight'#3#148#1#11'ClientWidth'#3#143#2#0#6'TLabel'#6'Lab'
+'buttons'#12'ClientHeight'#3#148#1#11'ClientWidth'#3#141#2#0#6'TLabel'#6'Lab'
+'el1'#22'AnchorSideLeft.Control'#7#7'BitBtn3'#19'AnchorSideLeft.Side'#7#9'as'
+'rBottom'#21'AnchorSideTop.Control'#7#9'TabSheet1'#4'Left'#3'c'#1#6'Height'#2
+#18#3'Top'#2#6#5'Width'#2'u'#20'BorderSpacing.Around'#2#6#7'Caption'#6#17'Av'
+'rBottom'#21'AnchorSideTop.Control'#7#9'TabSheet1'#4'Left'#3'^'#1#6'Height'#2
+#18#3'Top'#2#6#5'Width'#2'v'#20'BorderSpacing.Around'#2#6#7'Caption'#6#17'Av'
+'aliable buttons'#12'FocusControl'#7#16'ListBtnAvaliable'#11'ParentColor'#8#0
+#0#6'TLabel'#6'Label2'#21'AnchorSideTop.Control'#7#9'TabSheet1'#4'Left'#2#8#6
+'Height'#2#18#3'Top'#2#6#5'Width'#2'g'#20'BorderSpacing.Around'#2#6#7'Captio'
+'Height'#2#18#3'Top'#2#6#5'Width'#2'f'#20'BorderSpacing.Around'#2#6#7'Captio'
+'n'#6#15'Visible buttons'#12'FocusControl'#7#14'ListBtnVisible'#11'ParentCol'
+'or'#8#0#0#7'TBitBtn'#7'BitBtn3'#22'AnchorSideLeft.Control'#7#7'BitBtn6'#21
+'AnchorSideTop.Control'#7#7'BitBtn4'#18'AnchorSideTop.Side'#7#9'asrBottom'#23
+'AnchorSideRight.Control'#7#7'BitBtn6'#20'AnchorSideRight.Side'#7#9'asrBotto'
+'m'#4'Left'#3'2'#1#6'Height'#2#30#3'Top'#3#152#0#5'Width'#2'+'#7'Anchors'#11
+'m'#4'Left'#3'5'#1#6'Height'#2#30#3'Top'#3#148#0#5'Width'#2'#'#7'Anchors'#11
+#5'akTop'#6'akLeft'#7'akRight'#0#17'BorderSpacing.Top'#2#6#25'BorderSpacing.'
+'InnerBorder'#2#2#7'Caption'#6#2'<<'#9'NumGlyphs'#2#0#7'OnClick'#7#12'BitBtn'
+'3Click'#8'TabOrder'#2#0#0#0#7'TBitBtn'#7'BitBtn4'#22'AnchorSideLeft.Control'
+#7#7'BitBtn6'#21'AnchorSideTop.Control'#7#7'BitBtn5'#18'AnchorSideTop.Side'#7
+#9'asrBottom'#23'AnchorSideRight.Control'#7#7'BitBtn6'#20'AnchorSideRight.Si'
+'de'#7#9'asrBottom'#4'Left'#3'2'#1#6'Height'#2'!'#3'Top'#2'q'#5'Width'#2'+'#7
+'de'#7#9'asrBottom'#4'Left'#3'5'#1#6'Height'#2#31#3'Top'#2'o'#5'Width'#2'#'#7
+'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#0#8'AutoSize'#9#17'BorderSpacing.'
+'Top'#2#6#25'BorderSpacing.InnerBorder'#2#2#7'Caption'#6#1'<'#9'NumGlyphs'#2
+#0#7'OnClick'#7#12'BitBtn4Click'#8'TabOrder'#2#1#0#0#7'TBitBtn'#7'BitBtn5'#22
+'AnchorSideLeft.Control'#7#7'BitBtn6'#21'AnchorSideTop.Control'#7#7'BitBtn6'
+#18'AnchorSideTop.Side'#7#9'asrBottom'#23'AnchorSideRight.Control'#7#7'BitBt'
+'n6'#20'AnchorSideRight.Side'#7#9'asrBottom'#4'Left'#3'2'#1#6'Height'#2'&'#3
+'Top'#2'E'#5'Width'#2'+'#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#0#17'Bo'
+'n6'#20'AnchorSideRight.Side'#7#9'asrBottom'#4'Left'#3'5'#1#6'Height'#2'&'#3
+'Top'#2'C'#5'Width'#2'#'#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#0#17'Bo'
+'rderSpacing.Top'#2#6#25'BorderSpacing.InnerBorder'#2#2#7'Caption'#6#1'>'#9
+'NumGlyphs'#2#0#7'OnClick'#7#12'BitBtn5Click'#8'TabOrder'#2#2#0#0#7'TBitBtn'
+#7'BitBtn6'#22'AnchorSideLeft.Control'#7#9'TabSheet1'#19'AnchorSideLeft.Side'
+#7#9'asrCenter'#21'AnchorSideTop.Control'#7#16'ListBtnAvaliable'#4'Left'#3'2'
+#1#6'Height'#2'!'#3'Top'#2#30#5'Width'#2'+'#8'AutoSize'#9#25'BorderSpacing.I'
+#7#9'asrCenter'#21'AnchorSideTop.Control'#7#16'ListBtnAvaliable'#4'Left'#3'5'
+#1#6'Height'#2#31#3'Top'#2#30#5'Width'#2'#'#8'AutoSize'#9#25'BorderSpacing.I'
+'nnerBorder'#2#2#7'Caption'#6#2'>>'#9'NumGlyphs'#2#0#7'OnClick'#7#12'BitBtn6'
+'Click'#8'TabOrder'#2#3#0#0#8'TListBox'#16'ListBtnAvaliable'#22'AnchorSideLe'
+'ft.Control'#7#7'BitBtn3'#19'AnchorSideLeft.Side'#7#9'asrBottom'#21'AnchorSi'
+'deTop.Control'#7#6'Label1'#18'AnchorSideTop.Side'#7#9'asrBottom'#23'AnchorS'
+'ideRight.Control'#7#9'TabSheet1'#20'AnchorSideRight.Side'#7#9'asrBottom'#24
+'AnchorSideBottom.Control'#7#13'cbShowCaption'#4'Left'#3'c'#1#6'Height'#3#19
+#1#3'Top'#2#30#5'Width'#3'&'#1#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#8
+'AnchorSideBottom.Control'#7#13'cbShowCaption'#4'Left'#3'^'#1#6'Height'#3#19
+#1#3'Top'#2#30#5'Width'#3')'#1#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#8
+'akBottom'#0#20'BorderSpacing.Around'#2#6#13'Items.Strings'#1#6#3'111'#6#3'2'
+'22'#6#3'333'#6#2'44'#6#3'555'#6#3'666'#6#3'777'#0#10'ItemHeight'#2#0#7'OnCl'
+'ick'#7#21'ListBtnAvaliableClick'#10'OnDrawItem'#7#16'ListBox1DrawItem'#5'St'
@ -54,59 +54,60 @@ LazarusResources.Add('TToolPanelSetupForm','FORMDATA',[
+'le'#22'AnchorSideLeft.Control'#7#6'Label2'#21'AnchorSideTop.Control'#7#6'La'
+'bel2'#18'AnchorSideTop.Side'#7#9'asrBottom'#23'AnchorSideRight.Control'#7#7
+'BitBtn6'#24'AnchorSideBottom.Control'#7#13'cbShowCaption'#4'Left'#2#14#6'He'
+'ight'#3#19#1#3'Top'#2#30#5'Width'#3#30#1#7'Anchors'#11#5'akTop'#6'akLeft'#7
+'ight'#3#19#1#3'Top'#2#30#5'Width'#3'!'#1#7'Anchors'#11#5'akTop'#6'akLeft'#7
+'akRight'#8'akBottom'#0#20'BorderSpacing.Around'#2#6#10'ItemHeight'#2#0#7'On'
+'Click'#7#21'ListBtnAvaliableClick'#10'OnDrawItem'#7#16'ListBox1DrawItem'#5
+'Style'#7#16'lbOwnerDrawFixed'#8'TabOrder'#2#5#8'TopIndex'#2#255#0#0#6'TPane'
+'l'#6'Panel1'#24'AnchorSideBottom.Control'#7#9'TabSheet1'#21'AnchorSideBotto'
+'m.Side'#7#9'asrBottom'#4'Left'#2#3#6'Height'#2'>'#3'Top'#3'P'#1#5'Width'#3
+#131#2#9'Alignment'#7#13'taLeftJustify'#7'Anchors'#11#6'akLeft'#7'akRight'#8
+#129#2#9'Alignment'#7#13'taLeftJustify'#7'Anchors'#11#6'akLeft'#7'akRight'#8
+'akBottom'#0#20'BorderSpacing.Around'#2#6#10'BevelOuter'#7#9'bvLowered'#11'F'
+'ullRepaint'#8#8'TabOrder'#2#6#0#0#9'TCheckBox'#13'cbShowCaption'#22'AnchorS'
+'ideLeft.Control'#7#9'TabSheet1'#24'AnchorSideBottom.Control'#7#6'Panel1'#4
+'Left'#2#6#6'Height'#2#19#3'Top'#3'7'#1#5'Width'#2'q'#7'Anchors'#11#6'akLeft'
+'Left'#2#6#6'Height'#2#19#3'Top'#3'7'#1#5'Width'#2'p'#7'Anchors'#11#6'akLeft'
,#8'akBottom'#0#20'BorderSpacing.Around'#2#6#7'Caption'#6#12'Show caption'#8
+'OnChange'#7#19'cbShowCaptionChange'#8'TabOrder'#2#7#0#0#0#9'TTabSheet'#9'Ta'
+'bSheet2'#7'Caption'#6#7'Options'#12'ClientHeight'#3#148#1#11'ClientWidth'#3
+#143#2#0#9'TCheckBox'#10'cbShowHint'#22'AnchorSideLeft.Control'#7#9'TabSheet'
+#141#2#0#9'TCheckBox'#10'cbShowHint'#22'AnchorSideLeft.Control'#7#9'TabSheet'
+'2'#21'AnchorSideTop.Control'#7#8'cbTransp'#18'AnchorSideTop.Side'#7#9'asrBo'
+'ttom'#4'Left'#2#6#6'Height'#2#19#3'Top'#3#159#0#5'Width'#2'X'#20'BorderSpac'
+'ttom'#4'Left'#2#6#6'Height'#2#19#3'Top'#3#148#0#5'Width'#2'X'#20'BorderSpac'
+'ing.Around'#2#6#7'Caption'#6#9'Show hint'#8'TabOrder'#2#0#0#0#9'TCheckBox'#8
+'cbTransp'#22'AnchorSideLeft.Control'#7#9'TabSheet2'#21'AnchorSideTop.Contro'
+'l'#7#9'cbFlatBtn'#18'AnchorSideTop.Side'#7#9'asrBottom'#4'Left'#2#6#6'Heigh'
+'t'#2#19#3'Top'#3#134#0#5'Width'#2'f'#20'BorderSpacing.Around'#2#6#7'Caption'
+#6#11'Transparent'#8'TabOrder'#2#1#0#0#9'TCheckBox'#9'cbFlatBtn'#22'AnchorSi'
+'deLeft.Control'#7#9'TabSheet2'#21'AnchorSideTop.Control'#7#11'RadioGroup1'
+#18'AnchorSideTop.Side'#7#9'asrBottom'#4'Left'#2#6#6'Height'#2#19#3'Top'#2'm'
+#5'Width'#2'f'#20'BorderSpacing.Around'#2#6#7'Caption'#6#12'Flat buttons'#8
+'TabOrder'#2#2#0#0#11'TRadioGroup'#11'RadioGroup1'#22'AnchorSideLeft.Control'
+#7#6'Panel2'#19'AnchorSideLeft.Side'#7#9'asrBottom'#21'AnchorSideTop.Control'
+#7#9'TabSheet2'#23'AnchorSideRight.Control'#7#9'TabSheet2'#20'AnchorSideRigh'
+'t.Side'#7#9'asrBottom'#4'Left'#3'O'#1#6'Height'#2'a'#3'Top'#2#6#5'Width'#3
+':'#1#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#0#8'AutoFill'#8#20'BorderS'
+'pacing.Around'#2#6#7'Caption'#6#12'Button align'#28'ChildSizing.LeftRightSp'
+'acing'#2#6#28'ChildSizing.TopBottomSpacing'#2#6#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'L'#11'ClientWidth'#3'2'#1#13'Ite'
+'ms.Strings'#1#6#4'None'#6#4'Left'#6#5'Rignt'#0#8'TabOrder'#2#3#7'TabStop'#9
+#0#0#11'TRadioGroup'#11'RadioGroup2'#22'AnchorSideLeft.Control'#7#9'TabSheet'
+'2'#21'AnchorSideTop.Control'#7#9'TabSheet2'#23'AnchorSideRight.Control'#7#6
+'Panel2'#4'Left'#2#6#6'Height'#2'Z'#3'Top'#2#6#5'Width'#3':'#1#7'Anchors'#11
+#5'akTop'#6'akLeft'#7'akRight'#0#8'AutoFill'#9#8'AutoSize'#9#20'BorderSpacin'
+'g.Around'#2#6#7'Caption'#6#14'Tool bar style'#28'ChildSizing.LeftRightSpaci'
+'ng'#2#6#28'ChildSizing.TopBottomSpacing'#2#6#29'ChildSizing.EnlargeHorizont'
+'al'#7#24'crsHomogenousChildResize'#27'ChildSizing.EnlargeVertical'#7#24'crs'
+'HomogenousChildResize'#28'ChildSizing.ShrinkHorizontal'#7#14'crsScaleChilds'
+#26'ChildSizing.ShrinkVertical'#7#14'crsScaleChilds'#18'ChildSizing.Layout'#7
+#29'cclLeftToRightThenTopToBottom'#27'ChildSizing.ControlsPerLine'#2#1#12'Cl'
+'ientHeight'#2'E'#11'ClientWidth'#3'2'#1#13'Items.Strings'#1#6#8'Standart'#6
+#10'Windows XP'#6#6'Native'#0#8'TabOrder'#2#4#7'TabStop'#9#0#0#6'TPanel'#6'P'
+'anel2'#22'AnchorSideLeft.Control'#7#9'TabSheet2'#19'AnchorSideLeft.Side'#7#9
+'asrCenter'#21'AnchorSideTop.Control'#7#9'TabSheet2'#24'AnchorSideBottom.Con'
+'trol'#7#9'TabSheet2'#21'AnchorSideBottom.Side'#7#9'asrBottom'#4'Left'#3'F'#1
+#6'Height'#3#136#1#3'Top'#2#6#5'Width'#2#3#7'Anchors'#11#5'akTop'#6'akLeft'#8
+'akBottom'#0#20'BorderSpacing.Around'#2#6#8'TabOrder'#2#5#0#0#0#0#12'TButton'
+'Panel'#12'ButtonPanel1'#4'Left'#2#6#6'Height'#2'('#3'Top'#3#185#1#5'Width'#3
+#135#2#8'TabOrder'#2#1#11'ShowButtons'#11#7'pbClose'#6'pbHelp'#0#0#0#0
+'t'#2#19#3'Top'#2'{'#5'Width'#2'e'#20'BorderSpacing.Around'#2#6#7'Caption'#6
+#11'Transparent'#8'TabOrder'#2#1#0#0#9'TCheckBox'#9'cbFlatBtn'#22'AnchorSide'
+'Left.Control'#7#9'TabSheet2'#21'AnchorSideTop.Control'#7#11'RadioGroup1'#18
+'AnchorSideTop.Side'#7#9'asrBottom'#4'Left'#2#6#6'Height'#2#19#3'Top'#2'b'#5
+'Width'#2'e'#20'BorderSpacing.Around'#2#6#7'Caption'#6#12'Flat buttons'#8'Ta'
+'bOrder'#2#2#0#0#11'TRadioGroup'#11'RadioGroup1'#22'AnchorSideLeft.Control'#7
+#6'Panel2'#19'AnchorSideLeft.Side'#7#9'asrBottom'#21'AnchorSideTop.Control'#7
+#9'TabSheet2'#23'AnchorSideRight.Control'#7#9'TabSheet2'#20'AnchorSideRight.'
+'Side'#7#9'asrBottom'#4'Left'#3'N'#1#6'Height'#2'V'#3'Top'#2#6#5'Width'#3'9'
+#1#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#0#8'AutoFill'#8#8'AutoSize'#9
+#20'BorderSpacing.Around'#2#6#7'Caption'#6#12'Button align'#28'ChildSizing.L'
+'eftRightSpacing'#2#6#28'ChildSizing.TopBottomSpacing'#2#6#28'ChildSizing.Sh'
+'rinkHorizontal'#7#14'crsScaleChilds'#26'ChildSizing.ShrinkVertical'#7#14'cr'
+'sScaleChilds'#18'ChildSizing.Layout'#7#29'cclLeftToRightThenTopToBottom'#27
+'ChildSizing.ControlsPerLine'#2#1#12'ClientHeight'#2'E'#11'ClientWidth'#3'9'
+#1#13'Items.Strings'#1#6#4'None'#6#4'Left'#6#5'Rignt'#0#8'TabOrder'#2#3#7'Ta'
+'bStop'#9#0#0#11'TRadioGroup'#11'RadioGroup2'#22'AnchorSideLeft.Control'#7#9
+'TabSheet2'#21'AnchorSideTop.Control'#7#9'TabSheet2'#23'AnchorSideRight.Cont'
+'rol'#7#6'Panel2'#4'Left'#2#6#6'Height'#2'V'#3'Top'#2#6#5'Width'#3'9'#1#7'An'
+'chors'#11#5'akTop'#6'akLeft'#7'akRight'#0#8'AutoFill'#9#8'AutoSize'#9#20'Bo'
+'rderSpacing.Around'#2#6#7'Caption'#6#14'Tool bar style'#28'ChildSizing.Left'
+'RightSpacing'#2#6#28'ChildSizing.TopBottomSpacing'#2#6#29'ChildSizing.Enlar'
+'geHorizontal'#7#24'crsHomogenousChildResize'#27'ChildSizing.EnlargeVertical'
+#7#24'crsHomogenousChildResize'#28'ChildSizing.ShrinkHorizontal'#7#14'crsSca'
+'leChilds'#26'ChildSizing.ShrinkVertical'#7#14'crsScaleChilds'#18'ChildSizin'
+'g.Layout'#7#29'cclLeftToRightThenTopToBottom'#27'ChildSizing.ControlsPerLin'
+'e'#2#1#12'ClientHeight'#2'E'#11'ClientWidth'#3'9'#1#13'Items.Strings'#1#6#8
+'Standart'#6#10'Windows XP'#6#6'Native'#0#8'TabOrder'#2#4#7'TabStop'#9#0#0#6
+'TPanel'#6'Panel2'#22'AnchorSideLeft.Control'#7#9'TabSheet2'#19'AnchorSideLe'
+'ft.Side'#7#9'asrCenter'#21'AnchorSideTop.Control'#7#9'TabSheet2'#24'AnchorS'
+'ideBottom.Control'#7#9'TabSheet2'#21'AnchorSideBottom.Side'#7#9'asrBottom'#4
+'Left'#3'E'#1#6'Height'#3#136#1#3'Top'#2#6#5'Width'#2#3#7'Anchors'#11#5'akTo'
+'p'#6'akLeft'#8'akBottom'#0#20'BorderSpacing.Around'#2#6#8'TabOrder'#2#5#0#0
+#0#0#12'TButtonPanel'#12'ButtonPanel1'#4'Left'#2#6#6'Height'#2'('#3'Top'#3
+#185#1#5'Width'#3#133#2#8'TabOrder'#2#1#11'ShowButtons'#11#7'pbClose'#6'pbHe'
+'lp'#0#0#0#0
]);

View File

@ -224,6 +224,7 @@ type
constructor Create(AOwner: TComponent); override;
destructor Destroy; override;
procedure Customize(HelpCtx: Longint);
procedure SetBounds(aLeft, aTop, aWidth, aHeight: integer); override;
published
property Items:TToolbarItems read GetItems write SetItems;
property ImageList:TImageList read FImageList write SetImageList;
@ -715,6 +716,7 @@ procedure TToolbarButton.SetBounds(aLeft, aTop, aWidth, aHeight: integer);
var
TextSize:TSize;
ImgH, ImgW:integer;
tmpCanvas: TCanvas;
begin
if Assigned(Parent) and not (csLoading in TToolPanel(Parent).ComponentState) then
begin
@ -750,19 +752,26 @@ begin
if ShowCaption then
begin
TextSize:=Canvas.TextExtent(Caption);
if (Layout in [blGlyphLeft, blGlyphRight]) and Assigned(FImageList) then
begin
aWidth:=ImgW + 4 + TextSize.cx;
aHeight:=Max(TextSize.cy + 8, ImgH);
end
else
begin
aWidth:=Max(8 + TextSize.cx, ImgW);
aHeight:=ImgH + TextSize.cy + 4;
tmpCanvas := GetWorkingCanvas(Canvas);
try
TextSize:=tmpCanvas.TextExtent(Caption);
if (Layout in [blGlyphLeft, blGlyphRight]) and Assigned(FImageList) then
begin
aWidth:=ImgW + 4 + TextSize.cx;
aHeight:=Max(TextSize.cy + 8, ImgH);
end
else
begin
aWidth:=Max(8 + TextSize.cx, ImgW);
aHeight:=ImgH + TextSize.cy + 4;
end;
if aHeight < TToolPanel(Parent).BtnHeight then
aHeight:=TToolPanel(Parent).BtnHeight;
finally
if TmpCanvas<>Canvas then
FreeWorkingCanvas(tmpCanvas);
end;
if aHeight < TToolPanel(Parent).BtnHeight then
aHeight:=TToolPanel(Parent).BtnHeight;
end
else
begin
@ -1009,11 +1018,16 @@ procedure TToolPanel.ReAlignToolBtn;
var
i, L:integer;
begin
{ for i:=0 to FToolbarItems.Count - 1 do
begin
FToolbarItems[i].FButton.Align:=alNone;
end;
}
L:=BorderWidth;
for i:=0 to FToolbarItems.Count - 1 do
begin
FToolbarItems[i].FButton.Left:=L;
FToolbarItems[i].FButton.Align:=BtnAl2Align[FButtonAllign];
// FToolbarItems[i].FButton.Align:=BtnAl2Align[FButtonAllign];
L:=L + FToolbarItems[i].FButton.Width;
end;
end;
@ -1057,7 +1071,7 @@ var
i, H:integer;
begin
{
if not AutoSizeCanStart then exit;
if csDesigning in ComponentState then exit;
@ -1078,7 +1092,7 @@ begin
end
// Exclude(FControlFlags,cfAutoSizeNeeded);
end
else
else }
inherited DoAutoSize;
end;
@ -1091,13 +1105,13 @@ begin
end;
procedure TToolPanel.RequestAlign;
var
i, L:integer;
{var
i, L:integer;}
begin
inherited RequestAlign;
{ if (Parent = nil) or (csDestroying in ComponentState) or (csLoading in ComponentState) or (not Parent.HandleAllocated) then
exit;
if not Parent.HandleAllocated then exit;
// if not Parent.HandleAllocated then exit;
ReAlignToolBtn;}
end;
@ -1105,12 +1119,18 @@ procedure TToolPanel.Loaded;
var
i, L:integer;
begin
if csDesigning in ComponentState then
{ if csDesigning in ComponentState then
begin
for i:=0 to FToolbarItems.Count - 1 do
FToolbarItems[i].UpdateLeftAfterLoad;
end;
end; }
inherited Loaded;
for i:=0 to FToolbarItems.Count - 1 do
begin
FToolbarItems[i].UpdateLeftAfterLoad;
FToolbarItems[i].FButton.Align:=BtnAl2Align[FButtonAllign];
end;
ReAlignToolBtn;
end;
constructor TToolPanel.Create(AOwner: TComponent);
@ -1128,7 +1148,7 @@ begin
FDefButtonHeight:=DefButtonHeight;
FToolBarStyle:=tbsStandart;
BorderWidth:=4;
ControlStyle:=ControlStyle - [csSetCaption];
ControlStyle:=ControlStyle - [csSetCaption] + [csAcceptsControls];
Caption:='';
end;
@ -1154,6 +1174,15 @@ begin
SetCustomizing(true);
end;
procedure TToolPanel.SetBounds(aLeft, aTop, aWidth, aHeight: integer);
begin
if Assigned(FImageList) then
aHeight:=FImageList.Height+8 + BorderWidth * 2
else
aHeight:=FDefButtonHeight + BorderWidth * 2;
inherited SetBounds(aLeft, aTop, aWidth, aHeight);
end;
{ TToolbarItem }
procedure TToolbarItem.SetAction(const AValue: TBasicAction);
@ -1345,8 +1374,11 @@ end;
constructor TToolbarItem.Create(ACollection: TCollection);
var
i, W:integer;
TB:TToolPanel;
begin
inherited Create(ACollection);
TB:=TToolbarItems(ACollection).FToolPanel;
FButton:=TToolbarButton.Create(TToolbarItems(ACollection).FToolPanel);
FButton.Align:=BtnAl2Align[TToolbarItems(ACollection).FToolPanel.ButtonAllign];
@ -1361,15 +1393,19 @@ begin
FButton.FFullPush:=true;
// if not (csLoading in TToolbarItems(ACollection).FToolPanel.ComponentState) then
// FButton.Align:=BtnAl2Align[TToolbarItems(ACollection).FToolPanel.ButtonAllign];
{ if TToolbarItems(ACollection).FToolPanel.ButtonAllign = tbaLeft then
if (not (csLoading in TB.ComponentState)) and (csDesigning in TB.ComponentState) then
begin
W:=0;
for i:=0 to ACollection.Count - 1 do
if TToolbarItems(ACollection).FToolPanel.ButtonAllign = tbaLeft then
begin
W:=Max(W, TToolbarItems(ACollection).Items[I].Width + TToolbarItems(ACollection).Items[I].Left);
W:=0;
for i:=0 to ACollection.Count - 1 do
begin
W:=Max(W, TToolbarItems(ACollection).Items[I].Width + TToolbarItems(ACollection).Items[I].Left);
end;
Left:=W+1;
end;
Left:=W+1;
end;}
end;
end;
destructor TToolbarItem.Destroy;