RxFPC:new flags for RxDBVerticalGrid.Options

git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6866 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
alexs75
2019-04-25 06:48:07 +00:00
parent 6ec131a022
commit 23a253de0b
4 changed files with 357 additions and 89 deletions

View File

@ -9,7 +9,7 @@
<IsPartOfProject Value="True"/> <IsPartOfProject Value="True"/>
<EditorIndex Value="-1"/> <EditorIndex Value="-1"/>
<CursorPos Y="16"/> <CursorPos Y="16"/>
<UsageCount Value="52"/> <UsageCount Value="54"/>
</Unit0> </Unit0>
<Unit1> <Unit1>
<Filename Value="unit1.pas"/> <Filename Value="unit1.pas"/>
@ -19,9 +19,9 @@
<ResourceBaseClass Value="Form"/> <ResourceBaseClass Value="Form"/>
<UnitName Value="Unit1"/> <UnitName Value="Unit1"/>
<IsVisibleTab Value="True"/> <IsVisibleTab Value="True"/>
<TopLine Value="109"/> <TopLine Value="72"/>
<CursorPos X="86" Y="146"/> <CursorPos Y="100"/>
<UsageCount Value="52"/> <UsageCount Value="54"/>
<Loaded Value="True"/> <Loaded Value="True"/>
<LoadedDesigner Value="True"/> <LoadedDesigner Value="True"/>
</Unit1> </Unit1>
@ -34,20 +34,19 @@
</Unit2> </Unit2>
<Unit3> <Unit3>
<Filename Value="../../rxdb/rxdbgrid.pas"/> <Filename Value="../../rxdb/rxdbgrid.pas"/>
<EditorIndex Value="3"/> <EditorIndex Value="1"/>
<TopLine Value="4122"/> <TopLine Value="4122"/>
<CursorPos Y="4148"/> <CursorPos Y="4148"/>
<UsageCount Value="25"/> <UsageCount Value="26"/>
<Loaded Value="True"/> <Loaded Value="True"/>
</Unit3> </Unit3>
<Unit4> <Unit4>
<Filename Value="../../../../lcl/grids.pas"/> <Filename Value="../../../../lcl/grids.pas"/>
<UnitName Value="Grids"/> <UnitName Value="Grids"/>
<EditorIndex Value="-1"/> <EditorIndex Value="-1"/>
<TopLine Value="985"/> <TopLine Value="1213"/>
<CursorPos X="15" Y="1001"/> <CursorPos X="14" Y="1228"/>
<UsageCount Value="22"/> <UsageCount Value="22"/>
<Loaded Value="True"/>
</Unit4> </Unit4>
<Unit5> <Unit5>
<Filename Value="../../../../lcl/dbgrids.pas"/> <Filename Value="../../../../lcl/dbgrids.pas"/>
@ -91,11 +90,10 @@
<Unit10> <Unit10>
<Filename Value="../../../../lcl/dbctrls.pp"/> <Filename Value="../../../../lcl/dbctrls.pp"/>
<UnitName Value="DBCtrls"/> <UnitName Value="DBCtrls"/>
<EditorIndex Value="1"/> <EditorIndex Value="-1"/>
<TopLine Value="1042"/> <TopLine Value="1042"/>
<CursorPos X="15" Y="1070"/> <CursorPos X="15" Y="1070"/>
<UsageCount Value="18"/> <UsageCount Value="18"/>
<Loaded Value="True"/>
</Unit10> </Unit10>
<Unit11> <Unit11>
<Filename Value="../../rxdb/rxlookup.pas"/> <Filename Value="../../rxdb/rxlookup.pas"/>
@ -176,12 +174,12 @@
</Unit21> </Unit21>
<Unit22> <Unit22>
<Filename Value="../../rxdb/rxdbverticalgrid.pas"/> <Filename Value="../../rxdb/rxdbverticalgrid.pas"/>
<EditorIndex Value="4"/> <EditorIndex Value="2"/>
<TopLine Value="319"/> <TopLine Value="1727"/>
<CursorPos X="77" Y="342"/> <CursorPos X="22" Y="1743"/>
<UsageCount Value="25"/> <UsageCount Value="26"/>
<Bookmarks Count="1"> <Bookmarks Count="1">
<Item0 X="38" Y="915" ID="1"/> <Item0 X="38" Y="950" ID="1"/>
</Bookmarks> </Bookmarks>
<Loaded Value="True"/> <Loaded Value="True"/>
</Unit22> </Unit22>
@ -507,11 +505,10 @@
<Unit68> <Unit68>
<Filename Value="../../../../lcl/extctrls.pp"/> <Filename Value="../../../../lcl/extctrls.pp"/>
<UnitName Value="ExtCtrls"/> <UnitName Value="ExtCtrls"/>
<EditorIndex Value="2"/> <EditorIndex Value="-1"/>
<TopLine Value="494"/> <TopLine Value="494"/>
<CursorPos X="6" Y="504"/> <CursorPos X="6" Y="504"/>
<UsageCount Value="18"/> <UsageCount Value="18"/>
<Loaded Value="True"/>
</Unit68> </Unit68>
<Unit69> <Unit69>
<Filename Value="../../../../lcl/include/customimage.inc"/> <Filename Value="../../../../lcl/include/customimage.inc"/>
@ -554,123 +551,127 @@
<DefaultSyntaxHighlighter Value="LFM"/> <DefaultSyntaxHighlighter Value="LFM"/>
</Unit73> </Unit73>
</Units> </Units>
<JumpHistory Count="29" HistoryIndex="28"> <JumpHistory Count="30" HistoryIndex="29">
<Position1> <Position1>
<Filename Value="../../rxdb/rxdbverticalgrid.pas"/> <Filename Value="unit1.pas"/>
<Caret Line="293" Column="15" TopLine="272"/> <Caret Line="131" Column="6" TopLine="113"/>
</Position1> </Position1>
<Position2> <Position2>
<Filename Value="../../rxdb/rxdbverticalgrid.pas"/> <Filename Value="unit1.pas"/>
<Caret Line="1168" Column="3" TopLine="1166"/> <Caret Line="137" Column="6" TopLine="114"/>
</Position2> </Position2>
<Position3> <Position3>
<Filename Value="../../rxdb/rxdbverticalgrid.pas"/> <Filename Value="unit1.pas"/>
<Caret Line="222" Column="15" TopLine="207"/> <Caret Line="123" Column="3" TopLine="114"/>
</Position3> </Position3>
<Position4> <Position4>
<Filename Value="../../rxdb/rxdbverticalgrid.pas"/> <Filename Value="unit1.pas"/>
<Caret Line="189" Column="15" TopLine="172"/> <Caret Line="124" TopLine="114"/>
</Position4> </Position4>
<Position5> <Position5>
<Filename Value="../../rxdb/rxdbverticalgrid.pas"/> <Filename Value="unit1.pas"/>
<Caret Line="903" Column="3" TopLine="897"/> <Caret Line="125" TopLine="114"/>
</Position5> </Position5>
<Position6> <Position6>
<Filename Value="../../rxdb/rxdbverticalgrid.pas"/> <Filename Value="unit1.pas"/>
<Caret Line="294" Column="15" TopLine="275"/> <Caret Line="124" TopLine="114"/>
</Position6> </Position6>
<Position7> <Position7>
<Filename Value="../../rxdb/rxdbverticalgrid.pas"/> <Filename Value="../../rxdb/rxdbverticalgrid.pas"/>
<Caret Line="1173" Column="3" TopLine="1171"/> <Caret Line="1655" TopLine="1641"/>
</Position7> </Position7>
<Position8> <Position8>
<Filename Value="../../rxdb/rxdbverticalgrid.pas"/> <Filename Value="../../rxdb/rxdbverticalgrid.pas"/>
<Caret Line="295" Column="31" TopLine="275"/> <Caret Line="1656" TopLine="1641"/>
</Position8> </Position8>
<Position9> <Position9>
<Filename Value="../../rxdb/rxdbverticalgrid.pas"/> <Filename Value="../../rxdb/rxdbverticalgrid.pas"/>
<Caret Line="1188" Column="18" TopLine="1185"/> <Caret Line="1658" TopLine="1641"/>
</Position9> </Position9>
<Position10> <Position10>
<Filename Value="../../rxdb/rxdbverticalgrid.pas"/> <Filename Value="../../rxdb/rxdbverticalgrid.pas"/>
<Caret Line="1185" Column="35" TopLine="1169"/> <Caret Line="1659" TopLine="1641"/>
</Position10> </Position10>
<Position11> <Position11>
<Filename Value="../../rxdb/rxdbverticalgrid.pas"/> <Filename Value="../../rxdb/rxdbverticalgrid.pas"/>
<Caret Line="314" Column="15" TopLine="295"/> <Caret Line="1662" TopLine="1641"/>
</Position11> </Position11>
<Position12> <Position12>
<Filename Value="../../rxdb/rxdbverticalgrid.pas"/> <Filename Value="../../rxdb/rxdbverticalgrid.pas"/>
<Caret Line="291" Column="15" TopLine="272"/> <Caret Line="1664" TopLine="1641"/>
</Position12> </Position12>
<Position13> <Position13>
<Filename Value="../../rxdb/rxdbverticalgrid.pas"/> <Filename Value="../../rxdb/rxdbverticalgrid.pas"/>
<Caret Line="1613" Column="19" TopLine="1594"/> <Caret Line="1665" TopLine="1641"/>
</Position13> </Position13>
<Position14> <Position14>
<Filename Value="unit1.pas"/> <Filename Value="../../rxdb/rxdbverticalgrid.pas"/>
<Caret Line="100" Column="5" TopLine="73"/> <Caret Line="1669" TopLine="1641"/>
</Position14> </Position14>
<Position15> <Position15>
<Filename Value="unit1.pas"/> <Filename Value="../../rxdb/rxdbverticalgrid.pas"/>
<Caret Line="101" Column="5" TopLine="74"/> <Caret Line="1672" TopLine="1644"/>
</Position15> </Position15>
<Position16> <Position16>
<Filename Value="../../rxdb/rxdbverticalgrid.pas"/> <Filename Value="../../rxdb/rxdbverticalgrid.pas"/>
<Caret Line="1194" Column="9" TopLine="1190"/> <Caret Line="1674" TopLine="1646"/>
</Position16> </Position16>
<Position17> <Position17>
<Filename Value="../../rxdb/rxdbverticalgrid.pas"/> <Filename Value="../../rxdb/rxdbverticalgrid.pas"/>
<Caret Line="301" Column="15" TopLine="277"/> <Caret Line="1677" TopLine="1649"/>
</Position17> </Position17>
<Position18> <Position18>
<Filename Value="../../rxdb/rxdbverticalgrid.pas"/> <Filename Value="../../rxdb/rxdbverticalgrid.pas"/>
<Caret Line="1295" Column="39" TopLine="1277"/> <Caret Line="1681" TopLine="1654"/>
</Position18> </Position18>
<Position19> <Position19>
<Filename Value="../../rxdb/rxdbverticalgrid.pas"/> <Filename Value="../../rxdb/rxdbverticalgrid.pas"/>
<Caret Line="1289" Column="42" TopLine="1279"/> <Caret Line="1684" TopLine="1656"/>
</Position19> </Position19>
<Position20> <Position20>
<Filename Value="../../rxdb/rxdbverticalgrid.pas"/> <Filename Value="../../rxdb/rxdbverticalgrid.pas"/>
<Caret Line="1291" TopLine="1279"/> <Caret Line="1706" TopLine="1689"/>
</Position20> </Position20>
<Position21> <Position21>
<Filename Value="../../rxdb/rxdbverticalgrid.pas"/> <Filename Value="../../rxdb/rxdbverticalgrid.pas"/>
<Caret Line="1302" Column="51" TopLine="1279"/> <Caret Line="1708" TopLine="1689"/>
</Position21> </Position21>
<Position22> <Position22>
<Filename Value="../../rxdb/rxdbverticalgrid.pas"/> <Filename Value="../../rxdb/rxdbverticalgrid.pas"/>
<Caret Line="1295" TopLine="1279"/> <Caret Line="1709" TopLine="1689"/>
</Position22> </Position22>
<Position23> <Position23>
<Filename Value="../../rxdb/rxdbverticalgrid.pas"/> <Filename Value="../../rxdb/rxdbverticalgrid.pas"/>
<Caret Line="1292" TopLine="1279"/> <Caret Line="1657" TopLine="1637"/>
</Position23> </Position23>
<Position24> <Position24>
<Filename Value="../../rxdb/rxdbverticalgrid.pas"/> <Filename Value="../../rxdb/rxdbverticalgrid.pas"/>
<Caret Line="1312" TopLine="1291"/> <Caret Line="1715" TopLine="1691"/>
</Position24> </Position24>
<Position25> <Position25>
<Filename Value="../../rxdb/rxdbverticalgrid.pas"/> <Filename Value="unit1.pas"/>
<Caret Line="752" TopLine="733"/> <Caret Line="202" Column="19" TopLine="178"/>
</Position25> </Position25>
<Position26> <Position26>
<Filename Value="../../rxdb/rxdbverticalgrid.pas"/> <Filename Value="unit1.pas"/>
<Caret Line="753" TopLine="733"/> <Caret Line="201" Column="19" TopLine="177"/>
</Position26> </Position26>
<Position27> <Position27>
<Filename Value="../../rxdb/rxdbverticalgrid.pas"/> <Filename Value="unit1.pas"/>
<Caret Line="756" TopLine="733"/> <Caret Line="191" Column="5" TopLine="150"/>
</Position27> </Position27>
<Position28> <Position28>
<Filename Value="../../rxdb/rxdbverticalgrid.pas"/> <Filename Value="unit1.pas"/>
<Caret Line="1290" Column="26" TopLine="1289"/> <Caret Line="105" TopLine="95"/>
</Position28> </Position28>
<Position29> <Position29>
<Filename Value="unit1.pas"/> <Filename Value="unit1.pas"/>
<Caret Line="146" Column="106"/> <Caret Line="193" TopLine="166"/>
</Position29> </Position29>
<Position30>
<Filename Value="unit1.pas"/>
<Caret Line="60" Column="15" TopLine="42"/>
</Position30>
</JumpHistory> </JumpHistory>
<RunParams> <RunParams>
<FormatVersion Value="2"/> <FormatVersion Value="2"/>

View File

@ -11,8 +11,8 @@ object Form1: TForm1
LCLVersion = '2.1.0.0' LCLVersion = '2.1.0.0'
object RxDBVerticalGrid1: TRxDBVerticalGrid object RxDBVerticalGrid1: TRxDBVerticalGrid
Left = 899 Left = 899
Height = 646 Height = 565
Top = 103 Top = 184
Width = 307 Width = 307
Align = alClient Align = alClient
Color = clWindow Color = clWindow
@ -172,8 +172,8 @@ object Form1: TForm1
end end
object RxDBGrid1: TRxDBGrid object RxDBGrid1: TRxDBGrid
Left = 0 Left = 0
Height = 646 Height = 565
Top = 103 Top = 184
Width = 894 Width = 894
ColumnDefValues.BlobText = '(данные)' ColumnDefValues.BlobText = '(данные)'
TitleButtons = False TitleButtons = False
@ -378,12 +378,12 @@ object Form1: TForm1
end end
object Panel1: TPanel object Panel1: TPanel
Left = 0 Left = 0
Height = 103 Height = 184
Top = 0 Top = 0
Width = 1206 Width = 1206
Align = alTop Align = alTop
AutoSize = True AutoSize = True
ClientHeight = 103 ClientHeight = 184
ClientWidth = 1206 ClientWidth = 1206
TabOrder = 2 TabOrder = 2
object Button1: TButton object Button1: TButton
@ -446,35 +446,69 @@ object Form1: TForm1
object CheckBox2: TCheckBox object CheckBox2: TCheckBox
AnchorSideLeft.Control = RadioGroup1 AnchorSideLeft.Control = RadioGroup1
AnchorSideLeft.Side = asrBottom AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = CheckBox1 AnchorSideTop.Control = Panel1
AnchorSideTop.Side = asrBottom
Left = 254 Left = 254
Height = 23 Height = 23
Top = 36 Top = 7
Width = 114 Width = 114
BorderSpacing.Around = 6 BorderSpacing.Around = 6
Caption = 'Show images' Caption = 'Show images'
OnChange = CheckBox1Change OnChange = CheckBox1Change
TabOrder = 3 TabOrder = 3
end end
object CheckBox1: TCheckBox object CheckGroup1: TCheckGroup
AnchorSideLeft.Control = RadioGroup1 AnchorSideLeft.Control = CheckBox2
AnchorSideLeft.Side = asrBottom AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = Panel1 AnchorSideTop.Control = Panel1
Left = 254 Left = 374
Height = 23 Height = 170
Top = 7 Top = 7
Width = 112 Width = 559
AutoFill = True
AutoSize = True
BorderSpacing.Around = 6 BorderSpacing.Around = 6
Caption = 'Show header' Caption = 'Options'
OnChange = CheckBox1Change ChildSizing.LeftRightSpacing = 6
ChildSizing.TopBottomSpacing = 6
ChildSizing.EnlargeHorizontal = crsHomogenousChildResize
ChildSizing.EnlargeVertical = crsHomogenousChildResize
ChildSizing.ShrinkHorizontal = crsScaleChilds
ChildSizing.ShrinkVertical = crsScaleChilds
ChildSizing.Layout = cclLeftToRightThenTopToBottom
ChildSizing.ControlsPerLine = 3
ClientHeight = 150
ClientWidth = 557
Columns = 3
Items.Strings = (
'rxvgFixedVertLine'
'rxvgFixedHorzLine'
'rxvgVertLine'
'rxvgHorzLine'
'rxvgRowSelect'
'rxvgAlwaysShowEditor'
'rxvgThumbTracking'
'rxvgDblClickAutoSize'
'rxvgSmoothScroll'
'rxvgHeaderHotTracking'
'rxvgHeaderPushedLook'
'rxvgFixedColSizing'
'rxvgCellHints'
'rxvgTruncCellHints'
'rxvgCellEllipsis'
'rxvgRowHighlight'
'rxvgColumnTitle'
)
OnItemClick = CheckGroup1ItemClick
TabOrder = 4 TabOrder = 4
Data = {
110000000202020202020202020202020202020202
}
end end
end end
object Splitter1: TSplitter object Splitter1: TSplitter
Left = 894 Left = 894
Height = 646 Height = 565
Top = 103 Top = 184
Width = 5 Width = 5
end end
object dsData: TDataSource object dsData: TDataSource

View File

@ -16,8 +16,8 @@ type
TForm1 = class(TForm) TForm1 = class(TForm)
Button1: TButton; Button1: TButton;
Button2: TButton; Button2: TButton;
CheckBox1: TCheckBox;
CheckBox2: TCheckBox; CheckBox2: TCheckBox;
CheckGroup1: TCheckGroup;
dsData: TDataSource; dsData: TDataSource;
ImageList1: TImageList; ImageList1: TImageList;
MenuItem1: TMenuItem; MenuItem1: TMenuItem;
@ -56,6 +56,7 @@ type
procedure Button1Click(Sender: TObject); procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject); procedure Button2Click(Sender: TObject);
procedure CheckBox1Change(Sender: TObject); procedure CheckBox1Change(Sender: TObject);
procedure CheckGroup1ItemClick(Sender: TObject; Index: integer);
procedure FormCreate(Sender: TObject); procedure FormCreate(Sender: TObject);
private private
procedure FillDataBase; procedure FillDataBase;
@ -76,8 +77,28 @@ uses LazUTF8, LazFileUtils;
procedure TForm1.FormCreate(Sender: TObject); procedure TForm1.FormCreate(Sender: TObject);
begin begin
FillDataBase; FillDataBase;
CheckBox1.Checked:=rxvgColumnTitle in RxDBVerticalGrid1.Options;
CheckBox2.Checked:=RxDBVerticalGrid1.Rows[11].ShowBlobImagesAndMemo; CheckBox2.Checked:=RxDBVerticalGrid1.Rows[11].ShowBlobImagesAndMemo;
CheckGroup1.OnItemClick:=nil;
CheckGroup1.Checked[0]:=rxvgFixedVertLine in RxDBVerticalGrid1.Options;
CheckGroup1.Checked[1]:=rxvgFixedHorzLine in RxDBVerticalGrid1.Options;
CheckGroup1.Checked[2]:=rxvgVertLine in RxDBVerticalGrid1.Options;
CheckGroup1.Checked[3]:=rxvgHorzLine in RxDBVerticalGrid1.Options;
CheckGroup1.Checked[4]:=rxvgRowSelect in RxDBVerticalGrid1.Options;
CheckGroup1.Checked[5]:=rxvgAlwaysShowEditor in RxDBVerticalGrid1.Options;
CheckGroup1.Checked[6]:=rxvgThumbTracking in RxDBVerticalGrid1.Options;
CheckGroup1.Checked[7]:=rxvgDblClickAutoSize in RxDBVerticalGrid1.Options;
CheckGroup1.Checked[8]:=rxvgSmoothScroll in RxDBVerticalGrid1.Options;
CheckGroup1.Checked[9]:=rxvgHeaderHotTracking in RxDBVerticalGrid1.Options;
CheckGroup1.Checked[10]:=rxvgHeaderPushedLook in RxDBVerticalGrid1.Options;
CheckGroup1.Checked[11]:=rxvgFixedColSizing in RxDBVerticalGrid1.Options;
CheckGroup1.Checked[12]:=rxvgCellHints in RxDBVerticalGrid1.Options;
CheckGroup1.Checked[13]:=rxvgTruncCellHints in RxDBVerticalGrid1.Options;
CheckGroup1.Checked[14]:=rxvgCellEllipsis in RxDBVerticalGrid1.Options;
CheckGroup1.Checked[15]:=rxvgRowHighlight in RxDBVerticalGrid1.Options;
CheckGroup1.Checked[16]:=rxvgColumnTitle in RxDBVerticalGrid1.Options;
CheckGroup1.OnItemClick:=@CheckGroup1ItemClick;
end; end;
procedure TForm1.Button1Click(Sender: TObject); procedure TForm1.Button1Click(Sender: TObject);
@ -94,12 +115,6 @@ end;
procedure TForm1.CheckBox1Change(Sender: TObject); procedure TForm1.CheckBox1Change(Sender: TObject);
begin begin
if CheckBox1.Checked then
RxDBVerticalGrid1.Options:=RxDBVerticalGrid1.Options + [rxvgColumnTitle]
else
RxDBVerticalGrid1.Options:=RxDBVerticalGrid1.Options - [rxvgColumnTitle]
;
case RadioGroup1.ItemIndex of case RadioGroup1.ItemIndex of
0:RxDBVerticalGrid1.Rows[11].Alignment:=taLeftJustify; 0:RxDBVerticalGrid1.Rows[11].Alignment:=taLeftJustify;
1:RxDBVerticalGrid1.Rows[11].Alignment:=taRightJustify; 1:RxDBVerticalGrid1.Rows[11].Alignment:=taRightJustify;
@ -107,6 +122,95 @@ begin
end; end;
RxDBVerticalGrid1.Rows[11].ShowBlobImagesAndMemo:=CheckBox2.Checked; RxDBVerticalGrid1.Rows[11].ShowBlobImagesAndMemo:=CheckBox2.Checked;
RxDBVerticalGrid1.Rows[12].ShowBlobImagesAndMemo:=CheckBox2.Checked; RxDBVerticalGrid1.Rows[12].ShowBlobImagesAndMemo:=CheckBox2.Checked;
end;
procedure TForm1.CheckGroup1ItemClick(Sender: TObject; Index: integer);
begin
if CheckGroup1.Checked[0] then
RxDBVerticalGrid1.Options:=RxDBVerticalGrid1.Options + [rxvgFixedVertLine]
else
RxDBVerticalGrid1.Options:=RxDBVerticalGrid1.Options - [rxvgFixedVertLine]
;
if CheckGroup1.Checked[1] then
RxDBVerticalGrid1.Options:=RxDBVerticalGrid1.Options + [rxvgFixedHorzLine]
else
RxDBVerticalGrid1.Options:=RxDBVerticalGrid1.Options - [rxvgFixedHorzLine];
if CheckGroup1.Checked[2] then
RxDBVerticalGrid1.Options:=RxDBVerticalGrid1.Options + [rxvgVertLine]
else
RxDBVerticalGrid1.Options:=RxDBVerticalGrid1.Options - [rxvgVertLine];
if CheckGroup1.Checked[3] then
RxDBVerticalGrid1.Options:=RxDBVerticalGrid1.Options + [rxvgHorzLine]
else
RxDBVerticalGrid1.Options:=RxDBVerticalGrid1.Options - [rxvgHorzLine];
if CheckGroup1.Checked[4] then
RxDBVerticalGrid1.Options:=RxDBVerticalGrid1.Options + [rxvgRowSelect]
else
RxDBVerticalGrid1.Options:=RxDBVerticalGrid1.Options - [rxvgRowSelect];
if CheckGroup1.Checked[5] then
RxDBVerticalGrid1.Options:=RxDBVerticalGrid1.Options + [rxvgAlwaysShowEditor]
else
RxDBVerticalGrid1.Options:=RxDBVerticalGrid1.Options - [rxvgAlwaysShowEditor];
if CheckGroup1.Checked[6] then
RxDBVerticalGrid1.Options:=RxDBVerticalGrid1.Options + [rxvgThumbTracking]
else
RxDBVerticalGrid1.Options:=RxDBVerticalGrid1.Options - [rxvgThumbTracking];
if CheckGroup1.Checked[7] then
RxDBVerticalGrid1.Options:=RxDBVerticalGrid1.Options + [rxvgDblClickAutoSize]
else
RxDBVerticalGrid1.Options:=RxDBVerticalGrid1.Options - [rxvgDblClickAutoSize];
if CheckGroup1.Checked[8] then
RxDBVerticalGrid1.Options:=RxDBVerticalGrid1.Options + [rxvgSmoothScroll]
else
RxDBVerticalGrid1.Options:=RxDBVerticalGrid1.Options - [rxvgSmoothScroll];
if CheckGroup1.Checked[9] then
RxDBVerticalGrid1.Options:=RxDBVerticalGrid1.Options + [rxvgHeaderHotTracking]
else
RxDBVerticalGrid1.Options:=RxDBVerticalGrid1.Options - [rxvgHeaderHotTracking];
if CheckGroup1.Checked[10] then
RxDBVerticalGrid1.Options:=RxDBVerticalGrid1.Options + [rxvgHeaderPushedLook]
else
RxDBVerticalGrid1.Options:=RxDBVerticalGrid1.Options - [rxvgHeaderPushedLook];
if CheckGroup1.Checked[11] then
RxDBVerticalGrid1.Options:=RxDBVerticalGrid1.Options + [rxvgFixedColSizing]
else
RxDBVerticalGrid1.Options:=RxDBVerticalGrid1.Options - [rxvgFixedColSizing];
if CheckGroup1.Checked[12] then
RxDBVerticalGrid1.Options:=RxDBVerticalGrid1.Options + [rxvgCellHints]
else
RxDBVerticalGrid1.Options:=RxDBVerticalGrid1.Options - [rxvgCellHints];
if CheckGroup1.Checked[13] then
RxDBVerticalGrid1.Options:=RxDBVerticalGrid1.Options + [rxvgTruncCellHints]
else
RxDBVerticalGrid1.Options:=RxDBVerticalGrid1.Options - [rxvgTruncCellHints];
if CheckGroup1.Checked[14] then
RxDBVerticalGrid1.Options:=RxDBVerticalGrid1.Options + [rxvgCellEllipsis]
else
RxDBVerticalGrid1.Options:=RxDBVerticalGrid1.Options - [rxvgCellEllipsis];
if CheckGroup1.Checked[15] then
RxDBVerticalGrid1.Options:=RxDBVerticalGrid1.Options + [rxvgRowHighlight]
else
RxDBVerticalGrid1.Options:=RxDBVerticalGrid1.Options - [rxvgRowHighlight];
if CheckGroup1.Checked[16] then
RxDBVerticalGrid1.Options:=RxDBVerticalGrid1.Options + [rxvgColumnTitle]
else
RxDBVerticalGrid1.Options:=RxDBVerticalGrid1.Options - [rxvgColumnTitle];
end; end;

View File

@ -39,7 +39,42 @@ uses
Classes, SysUtils, Types, Grids, Graphics, Controls, DB, Menus; Classes, SysUtils, Types, Grids, Graphics, Controls, DB, Menus;
type type
TRxDBVerticalGridOption = (rxvgColumnTitle); TRxDBVerticalGridOption = (
rxvgFixedVertLine, //goFixedVertLine
rxvgFixedHorzLine, //goFixedHorzLine
rxvgVertLine, //goVertLine
rxvgHorzLine, //goHorzLine
//goRangeSelect,
//goDrawFocusSelected,
//goRowSizing,
//goColSizing,
//goRowMoving,
//goColMoving,
rxvgEditing, //goEditing,
//goAutoAddRows,
//goTabs,
rxvgRowSelect, //goRowSelect,
rxvgAlwaysShowEditor, //goAlwaysShowEditor,
rxvgThumbTracking, //goThumbTracking
// Additional Options
//goColSpanning, // Enable cellextent calcs
//goRelaxedRowSelect, // User can see focused cell on goRowSelect
rxvgDblClickAutoSize, //goDblClickAutoSize, // dblclicking columns borders (on hdrs) resize col.
rxvgSmoothScroll, //goSmoothScroll, // Switch scrolling mode (pixel scroll is by default)
//goFixedRowNumbering, // Ya
//goScrollKeepVisible, // keeps focused cell visible while scrolling
rxvgHeaderHotTracking, //goHeaderHotTracking, // Header cells change look when mouse is over them
rxvgHeaderPushedLook, //goHeaderPushedLook, // Header cells looks pushed when clicked
//goSelectionActive, // Setting grid.Selection moves also cell cursor
rxvgFixedColSizing, //goFixedColSizing, // Allow to resize fixed columns
//goDontScrollPartCell, // clicking partially visible cells will not scroll
rxvgCellHints, //goCellHints, // show individual cell hints
rxvgTruncCellHints, //goTruncCellHints, // show cell hints if cell text is too long
rxvgCellEllipsis, //goCellEllipsis, // show "..." if cell text is too long
//goAutoAddRowsSkipContentCheck,//BB Also add a row (if AutoAddRows in Options) if last row is empty
rxvgRowHighlight, //goRowHighlight // Highlight the current Row
rxvgColumnTitle
);
TRxDBVerticalGridOptions = set of TRxDBVerticalGridOption; TRxDBVerticalGridOptions = set of TRxDBVerticalGridOption;
TRxDBVerticalGridRowStyle = (rxvrData, rxvrStaticText); TRxDBVerticalGridRowStyle = (rxvrData, rxvrStaticText);
@ -1616,22 +1651,116 @@ end;
procedure TRxCustomDBVerticalGrid.SetOptions(AValue: TRxDBVerticalGridOptions); procedure TRxCustomDBVerticalGrid.SetOptions(AValue: TRxDBVerticalGridOptions);
var var
O: TGridOptions; O: TGridOptions;
FOldOpt: TRxDBVerticalGridOptions;
begin begin
if FOptions=AValue then Exit; if FOptions=AValue then Exit;
FOldOpt:=FOptions;
FOptions:=AValue; FOptions:=AValue;
// O:=inherited Options; O:=inherited Options;
if rxvgColumnTitle in FOptions then if rxvgFixedVertLine in FOptions then
O:=O + [goFixedVertLine]
else
O:=O - [goFixedVertLine];
if rxvgFixedHorzLine in FOptions then
O:=O + [goFixedHorzLine]
else
O:=O - [goFixedHorzLine];
if rxvgVertLine in FOptions then
O:=O + [goVertLine]
else
O:=O - [goVertLine];
if rxvgHorzLine in FOptions then
O:=O + [goHorzLine]
else
O:=O - [goHorzLine];
//rxvgEditing, //goEditing,
if rxvgRowSelect in FOptions then
O:=O + [goRowSelect]
else
O:=O - [goRowSelect];
if rxvgAlwaysShowEditor in FOptions then
O:=O + [goAlwaysShowEditor]
else
O:=O - [goAlwaysShowEditor];
if rxvgThumbTracking in FOptions then
O:=O + [goThumbTracking]
else
O:=O - [goThumbTracking];
if rxvgDblClickAutoSize in FOptions then
O:=O + [goDblClickAutoSize]
else
O:=O - [goDblClickAutoSize];
if rxvgSmoothScroll in FOptions then
O:=O + [goSmoothScroll]
else
O:=O - [goSmoothScroll];
if rxvgHeaderHotTracking in FOptions then
O:=O + [goHeaderHotTracking]
else
O:=O - [goHeaderHotTracking];
if rxvgHeaderPushedLook in FOptions then
O:=O + [goHeaderPushedLook]
else
O:=O - [goHeaderPushedLook];
if rxvgFixedColSizing in FOptions then
O:=O + [goFixedColSizing]
else
O:=O - [goFixedColSizing];
if rxvgFixedColSizing in FOptions then
O:=O + [goFixedColSizing]
else
O:=O - [goFixedColSizing];
if rxvgCellHints in FOptions then
O:=O + [goCellHints]
else
O:=O - [goCellHints];
if rxvgTruncCellHints in FOptions then
O:=O + [goTruncCellHints]
else
O:=O - [goTruncCellHints];
if rxvgCellEllipsis in FOptions then
O:=O + [goCellEllipsis]
else
O:=O - [goCellEllipsis];
if rxvgRowHighlight in FOptions then
O:=O + [goRowHighlight]
else
O:=O - [goRowHighlight];
(*
rxvgRowHighlight, //goRowHighlight // Highlight the current Row
*)
if (rxvgColumnTitle in FOptions) and (not (rxvgColumnTitle in FOldOpt)) then
begin begin
RowCount:=RowCount + 1; RowCount:=RowCount + 1;
FixedRows:=1; FixedRows:=1;
end end
else else
if (not(rxvgColumnTitle in FOptions)) and (rxvgColumnTitle in FOldOpt) then
begin begin
RowCount:=RowCount - 1; RowCount:=RowCount - 1;
FixedRows:=0; FixedRows:=0;
end; end;
inherited Options := O;
UpdateRowsHight; UpdateRowsHight;
end; end;