RxFPC:fix drawin separators in RxDBLookupCombo

git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6179 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
alexs75
2018-02-06 07:51:03 +00:00
parent a1f4c275f1
commit 05466b5c06
4 changed files with 52 additions and 45 deletions

View File

@ -59,8 +59,7 @@
<HasResources Value="True"/> <HasResources Value="True"/>
<ResourceBaseClass Value="Form"/> <ResourceBaseClass Value="Form"/>
<UnitName Value="Unit1"/> <UnitName Value="Unit1"/>
<IsVisibleTab Value="True"/> <TopLine Value="55"/>
<TopLine Value="40"/>
<CursorPos X="38" Y="51"/> <CursorPos X="38" Y="51"/>
<UsageCount Value="22"/> <UsageCount Value="22"/>
<Loaded Value="True"/> <Loaded Value="True"/>
@ -128,14 +127,15 @@
</Unit9> </Unit9>
<Unit10> <Unit10>
<Filename Value="../../rxdb/rxlookup.pas"/> <Filename Value="../../rxdb/rxlookup.pas"/>
<IsVisibleTab Value="True"/>
<EditorIndex Value="1"/> <EditorIndex Value="1"/>
<TopLine Value="35"/> <TopLine Value="957"/>
<CursorPos X="53" Y="54"/> <CursorPos X="25" Y="978"/>
<UsageCount Value="10"/> <UsageCount Value="10"/>
<Loaded Value="True"/> <Loaded Value="True"/>
</Unit10> </Unit10>
</Units> </Units>
<JumpHistory Count="15" HistoryIndex="14"> <JumpHistory Count="16" HistoryIndex="15">
<Position1> <Position1>
<Filename Value="unit1.pas"/> <Filename Value="unit1.pas"/>
<Caret Line="47" TopLine="34"/> <Caret Line="47" TopLine="34"/>
@ -194,8 +194,12 @@
</Position14> </Position14>
<Position15> <Position15>
<Filename Value="unit1.pas"/> <Filename Value="unit1.pas"/>
<Caret Line="51" Column="38" TopLine="40"/> <Caret Line="51" Column="38" TopLine="55"/>
</Position15> </Position15>
<Position16>
<Filename Value="../../rxdb/rxlookup.pas"/>
<Caret Line="238" Column="28" TopLine="227"/>
</Position16>
</JumpHistory> </JumpHistory>
</ProjectOptions> </ProjectOptions>
<CompilerOptions> <CompilerOptions>

View File

@ -14,9 +14,9 @@ object Form1: TForm1
AnchorSideTop.Control = GroupBox1 AnchorSideTop.Control = GroupBox1
AnchorSideTop.Side = asrBottom AnchorSideTop.Side = asrBottom
Left = 6 Left = 6
Height = 20 Height = 15
Top = 114 Top = 102
Width = 85 Width = 67
BorderSpacing.Around = 6 BorderSpacing.Around = 6
Caption = 'Select item...' Caption = 'Select item...'
ParentColor = False ParentColor = False
@ -26,10 +26,10 @@ object Form1: TForm1
AnchorSideLeft.Side = asrBottom AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = Button1 AnchorSideTop.Control = Button1
AnchorSideTop.Side = asrCenter AnchorSideTop.Side = asrCenter
Left = 106 Left = 103
Height = 20 Height = 15
Top = 186 Top = 161
Width = 42 Width = 34
BorderSpacing.Around = 6 BorderSpacing.Around = 6
Caption = 'Label2' Caption = 'Label2'
ParentColor = False ParentColor = False
@ -41,8 +41,8 @@ object Form1: TForm1
AnchorSideRight.Control = Owner AnchorSideRight.Control = Owner
AnchorSideRight.Side = asrBottom AnchorSideRight.Side = asrBottom
Left = 12 Left = 12
Height = 32 Height = 27
Top = 140 Top = 123
Width = 480 Width = 480
AutoSize = True AutoSize = True
Anchors = [akTop, akLeft, akRight] Anchors = [akTop, akLeft, akRight]
@ -76,9 +76,9 @@ object Form1: TForm1
AnchorSideTop.Control = RxDBLookupCombo1 AnchorSideTop.Control = RxDBLookupCombo1
AnchorSideTop.Side = asrBottom AnchorSideTop.Side = asrBottom
Left = 6 Left = 6
Height = 36 Height = 25
Top = 178 Top = 156
Width = 94 Width = 91
AutoSize = True AutoSize = True
BorderSpacing.Around = 6 BorderSpacing.Around = 6
Caption = 'Test caption' Caption = 'Test caption'
@ -90,10 +90,10 @@ object Form1: TForm1
AnchorSideTop.Side = asrBottom AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = Owner AnchorSideRight.Control = Owner
AnchorSideRight.Side = asrBottom AnchorSideRight.Side = asrBottom
Left = 425 Left = 428
Height = 36 Height = 25
Top = 220 Top = 187
Width = 67 Width = 64
Anchors = [akTop, akRight] Anchors = [akTop, akRight]
AutoSize = True AutoSize = True
BorderSpacing.Around = 6 BorderSpacing.Around = 6
@ -107,9 +107,9 @@ object Form1: TForm1
AnchorSideTop.Side = asrBottom AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = Button2 AnchorSideRight.Control = Button2
Left = 6 Left = 6
Height = 37 Height = 23
Top = 220 Top = 187
Width = 413 Width = 416
Anchors = [akTop, akLeft, akRight] Anchors = [akTop, akLeft, akRight]
BorderSpacing.Around = 6 BorderSpacing.Around = 6
TabOrder = 3 TabOrder = 3
@ -119,8 +119,8 @@ object Form1: TForm1
AnchorSideTop.Control = Edit1 AnchorSideTop.Control = Edit1
AnchorSideTop.Side = asrBottom AnchorSideTop.Side = asrBottom
Left = 0 Left = 0
Height = 105 Height = 152
Top = 263 Top = 216
Width = 498 Width = 498
Align = alBottom Align = alBottom
Anchors = [akTop, akLeft, akRight, akBottom] Anchors = [akTop, akLeft, akRight, akBottom]
@ -135,23 +135,23 @@ object Form1: TForm1
AnchorSideRight.Control = Owner AnchorSideRight.Control = Owner
AnchorSideRight.Side = asrBottom AnchorSideRight.Side = asrBottom
Left = 6 Left = 6
Height = 102 Height = 90
Top = 6 Top = 6
Width = 486 Width = 486
Anchors = [akTop, akLeft, akRight] Anchors = [akTop, akLeft, akRight]
AutoSize = True AutoSize = True
BorderSpacing.Around = 6 BorderSpacing.Around = 6
Caption = 'RxDBLookupCombo visual options' Caption = 'RxDBLookupCombo visual options'
ClientHeight = 81 ClientHeight = 70
ClientWidth = 484 ClientWidth = 482
TabOrder = 5 TabOrder = 5
object CheckBox1: TCheckBox object CheckBox1: TCheckBox
AnchorSideLeft.Control = GroupBox1 AnchorSideLeft.Control = GroupBox1
AnchorSideTop.Control = GroupBox1 AnchorSideTop.Control = GroupBox1
Left = 6 Left = 6
Height = 24 Height = 19
Top = 6 Top = 6
Width = 50 Width = 39
BorderSpacing.Around = 6 BorderSpacing.Around = 6
Caption = 'Flat' Caption = 'Flat'
OnChange = CheckBox1Change OnChange = CheckBox1Change
@ -161,10 +161,10 @@ object Form1: TForm1
AnchorSideLeft.Control = CheckBox1 AnchorSideLeft.Control = CheckBox1
AnchorSideLeft.Side = asrBottom AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = GroupBox1 AnchorSideTop.Control = GroupBox1
Left = 62 Left = 51
Height = 69 Height = 58
Top = 6 Top = 6
Width = 95 Width = 81
AutoFill = True AutoFill = True
AutoSize = True AutoSize = True
BorderSpacing.Around = 6 BorderSpacing.Around = 6
@ -176,8 +176,8 @@ object Form1: TForm1
ChildSizing.ShrinkVertical = crsScaleChilds ChildSizing.ShrinkVertical = crsScaleChilds
ChildSizing.Layout = cclLeftToRightThenTopToBottom ChildSizing.Layout = cclLeftToRightThenTopToBottom
ChildSizing.ControlsPerLine = 1 ChildSizing.ControlsPerLine = 1
ClientHeight = 48 ClientHeight = 38
ClientWidth = 93 ClientWidth = 77
ItemIndex = 0 ItemIndex = 0
Items.Strings = ( Items.Strings = (
'bsNone' 'bsNone'
@ -190,10 +190,10 @@ object Form1: TForm1
AnchorSideLeft.Control = GroupBox1 AnchorSideLeft.Control = GroupBox1
AnchorSideLeft.Side = asrCenter AnchorSideLeft.Side = asrCenter
AnchorSideTop.Control = GroupBox1 AnchorSideTop.Control = GroupBox1
Left = 164 Left = 176
Height = 69 Height = 58
Top = 6 Top = 6
Width = 156 Width = 131
AutoFill = True AutoFill = True
AutoSize = True AutoSize = True
BorderSpacing.Around = 6 BorderSpacing.Around = 6
@ -205,8 +205,8 @@ object Form1: TForm1
ChildSizing.ShrinkVertical = crsScaleChilds ChildSizing.ShrinkVertical = crsScaleChilds
ChildSizing.Layout = cclLeftToRightThenTopToBottom ChildSizing.Layout = cclLeftToRightThenTopToBottom
ChildSizing.ControlsPerLine = 1 ChildSizing.ControlsPerLine = 1
ClientHeight = 48 ClientHeight = 38
ClientWidth = 154 ClientWidth = 127
ItemIndex = 0 ItemIndex = 0
Items.Strings = ( Items.Strings = (
'rxcsDropDown' 'rxcsDropDown'

View File

@ -87,7 +87,7 @@ begin
rxLookUpData.AppendRecord([4, 'MS Windows XP', 150]); rxLookUpData.AppendRecord([4, 'MS Windows XP', 150]);
rxLookUpData.AppendRecord([5, 'MS Windows Vista', 100]); rxLookUpData.AppendRecord([5, 'MS Windows Vista', 100]);
rxLookUpData.AppendRecord([6, 'MS Windows 7', 200]); rxLookUpData.AppendRecord([6, 'MS Windows 7', 200]);
rxLookUpData.AppendRecord([7, 'Fedora Linux 11', 0]); rxLookUpData.AppendRecord([7, 'Fedora Linux 11 - 27', 0]);
Label2.Caption:=''; Label2.Caption:='';
end; end;

View File

@ -974,12 +974,17 @@ begin
begin begin
R1:=R; R1:=R;
R1.Left:=R1.Left + Max(0, X); R1.Left:=R1.Left + Max(0, X);
if R1.Right > ARight then
R1.Right:=ARight;
ThemeServices.DrawText(ACanvas, AThemedDetails^, S, R1, DT_LEFT or DT_VCENTER or DT_SINGLELINE, 0) ThemeServices.DrawText(ACanvas, AThemedDetails^, S, R1, DT_LEFT or DT_VCENTER or DT_SINGLELINE, 0)
end end
else else
ACanvas.TextRect(R, R.Left + Max(0, X), ATop, S); ACanvas.TextRect(R, R.Left + Max(0, X), ATop, S);
Inc(R.Left, W); Inc(R.Left, W);
if R.Left >= ARight then
Break;
if I < LastIndex then if I < LastIndex then
begin begin
if ThemeServices.ThemesEnabled and (FStyle = rxcsDropDownList) then if ThemeServices.ThemesEnabled and (FStyle = rxcsDropDownList) then
@ -995,8 +1000,6 @@ begin
end; end;
Inc(R.Left); Inc(R.Left);
end; end;
if R.Left >= ARight then
Break;
end; end;
end; end;