diff --git a/components/jvcllaz/examples/JvTMTimeLine/SimpleTLTest1.lpi b/components/jvcllaz/examples/JvTMTimeLine/SimpleTLTest1.lpi
index f9a2ae49f..ebb2241f5 100644
--- a/components/jvcllaz/examples/JvTMTimeLine/SimpleTLTest1.lpi
+++ b/components/jvcllaz/examples/JvTMTimeLine/SimpleTLTest1.lpi
@@ -13,7 +13,6 @@
-
diff --git a/components/jvcllaz/examples/JvTMTimeLine/TMTimeLineMainFormU.lfm b/components/jvcllaz/examples/JvTMTimeLine/TMTimeLineMainFormU.lfm
index 14ac0775d..28f26ef33 100644
--- a/components/jvcllaz/examples/JvTMTimeLine/TMTimeLineMainFormU.lfm
+++ b/components/jvcllaz/examples/JvTMTimeLine/TMTimeLineMainFormU.lfm
@@ -1,11 +1,11 @@
object TMTimeLineMainForm: TTMTimeLineMainForm
Left = 371
- Height = 580
+ Height = 591
Top = 154
- Width = 733
+ Width = 926
Caption = 'Team Manager Timeline demo'
- ClientHeight = 580
- ClientWidth = 733
+ ClientHeight = 591
+ ClientWidth = 926
Color = clBtnFace
Constraints.MinHeight = 376
Constraints.MinWidth = 710
@@ -15,149 +15,155 @@ object TMTimeLineMainForm: TTMTimeLineMainForm
OnCreate = FormCreate
OnMouseWheelDown = FormMouseWheelDown
OnMouseWheelUp = FormMouseWheelUp
+ OnShow = FormShow
Position = poScreenCenter
ShowHint = True
LCLVersion = '1.9.0.0'
Scaled = False
- object Splitter1: TSplitter
- Cursor = crVSplit
- Left = 0
- Height = 3
- Top = 148
- Width = 733
- Align = alBottom
- AutoSnap = False
- ResizeAnchor = akBottom
- end
object Panel1: TPanel
Left = 0
- Height = 406
- Top = 151
- Width = 733
+ Height = 335
+ Top = 224
+ Width = 926
Align = alBottom
+ AutoSize = True
BevelOuter = bvNone
- ClientHeight = 406
- ClientWidth = 733
+ ClientHeight = 335
+ ClientWidth = 926
TabOrder = 0
TabStop = True
- object Label6: TLabel
- Left = 8
+ object LblImages: TLabel
+ AnchorSideLeft.Control = LbImages
+ AnchorSideTop.Control = Panel1
+ AnchorSideRight.Side = asrBottom
+ Left = 4
Height = 15
- Top = 0
- Width = 725
- Align = alTop
- BorderSpacing.Left = 8
+ Top = 4
+ Width = 41
+ BorderSpacing.Top = 4
Caption = 'Images:'
ParentColor = False
end
- object Label7: TLabel
- Left = 480
- Height = 13
- Top = 272
- Width = 121
+ object LblKeyboardNavigation: TLabel
+ AnchorSideLeft.Control = gbDates
+ AnchorSideTop.Control = gbDates
+ AnchorSideTop.Side = asrBottom
+ Left = 597
+ Height = 15
+ Top = 188
+ Width = 112
+ BorderSpacing.Top = 24
Caption = 'Keyboard navigation:'
- Font.Color = clWindowText
- Font.Height = -11
- Font.Name = 'MS Sans Serif'
- Font.Style = [fsBold]
ParentColor = False
- ParentFont = False
end
object Label18: TLabel
- Left = 496
+ AnchorSideLeft.Control = LblKeyboardNavigation
+ AnchorSideTop.Control = LblKeyboardNavigation
+ AnchorSideTop.Side = asrBottom
+ Left = 613
Height = 30
- Top = 290
+ Top = 207
Width = 181
+ BorderSpacing.Left = 16
+ BorderSpacing.Top = 4
Caption = 'Left/Right arrow:'#13#10#9'move Small Change days'
ParentColor = False
end
object Label19: TLabel
- Left = 496
+ AnchorSideLeft.Control = Label18
+ AnchorSideTop.Control = Label18
+ AnchorSideTop.Side = asrBottom
+ Left = 613
Height = 30
- Top = 322
+ Top = 241
Width = 181
+ BorderSpacing.Top = 4
Caption = 'Ctrl+Left/Right arrow:'#13#10#9'move Large Change days'
ParentColor = False
end
object Label20: TLabel
- Left = 496
+ AnchorSideLeft.Control = Label19
+ AnchorSideTop.Control = Label19
+ AnchorSideTop.Side = asrBottom
+ Left = 613
Height = 30
- Top = 354
+ Top = 275
Width = 173
+ BorderSpacing.Top = 4
Caption = 'Shift+Left/Right arrow:'#13#10#9'move selection one day'
ParentColor = False
end
- object lvImages: TListView
- AnchorSideLeft.Control = Panel1
- AnchorSideRight.Control = Panel1
- Left = 8
- Height = 56
- Hint = 'The images available for the control'
- Top = 15
- Width = 717
- Align = alTop
- BorderSpacing.Left = 8
- BorderSpacing.Right = 8
- Columns = <>
- IconOptions.Arrangement = iaLeft
- LargeImages = il16
- PopupMenu = popTimeLine
- ReadOnly = True
- SmallImages = il16
- TabOrder = 0
- OnSelectItem = lvImagesSelectItem
- end
object gbDates: TGroupBox
- Left = 480
- Height = 176
- Top = 80
- Width = 241
+ AnchorSideLeft.Control = gbAppearance
+ AnchorSideLeft.Side = asrBottom
+ AnchorSideTop.Control = gbWidths
+ Left = 597
+ Height = 160
+ Top = 4
+ Width = 230
+ AutoSize = True
+ BorderSpacing.Left = 24
Caption = ' Dates: '
- ClientHeight = 156
- ClientWidth = 237
- TabOrder = 3
+ ClientHeight = 140
+ ClientWidth = 226
+ TabOrder = 2
object Label2: TLabel
- Left = 8
+ AnchorSideLeft.Control = gbDates
+ AnchorSideTop.Control = gbDates
+ Left = 12
Height = 15
- Top = -1
+ Top = 0
Width = 87
+ BorderSpacing.Left = 12
Caption = 'First visible date:'
ParentColor = False
end
object Label3: TLabel
- Left = 8
+ AnchorSideLeft.Control = Label2
+ AnchorSideTop.Control = dtpFirstDate
+ AnchorSideTop.Side = asrBottom
+ Left = 12
Height = 15
- Top = 47
+ Top = 48
Width = 73
+ BorderSpacing.Top = 8
Caption = 'Selected date:'
ParentColor = False
end
object Label4: TLabel
- Left = 136
+ AnchorSideLeft.Control = edImageNo
+ AnchorSideTop.Control = Label2
+ Left = 131
Height = 15
- Top = -1
+ Top = 0
Width = 61
Caption = 'Add image:'
ParentColor = False
end
object Label5: TLabel
- Left = 136
+ AnchorSideLeft.Control = edImageNo
+ AnchorSideTop.Control = Label3
+ Left = 131
Height = 15
- Top = 47
+ Top = 48
Width = 39
Caption = 'at date:'
ParentColor = False
end
object dtpFirstDate: TDateTimePicker
- Left = 8
+ AnchorSideLeft.Control = Label2
+ AnchorSideTop.Control = Label2
+ AnchorSideTop.Side = asrBottom
+ Left = 12
Height = 23
Hint = 'Sets the first displayed date'
- Top = 15
+ Top = 17
Width = 79
CenturyFrom = 1941
MaxDate = 2958465
MinDate = -53780
TabOrder = 0
+ BorderSpacing.Top = 2
TrailingSeparator = False
LeadingZeros = True
Kind = dtkDate
@@ -173,15 +179,19 @@ object TMTimeLineMainForm: TTMTimeLineMainForm
OnChange = dtpFirstDateChange
end
object dtpSelDate: TDateTimePicker
- Left = 8
+ AnchorSideLeft.Control = Label2
+ AnchorSideTop.Control = Label3
+ AnchorSideTop.Side = asrBottom
+ Left = 12
Height = 23
Hint = 'Sets the selected day'
- Top = 63
+ Top = 65
Width = 79
CenturyFrom = 1941
MaxDate = 2958465
MinDate = -53780
TabOrder = 1
+ BorderSpacing.Top = 2
TrailingSeparator = False
LeadingZeros = True
Kind = dtkDate
@@ -197,37 +207,53 @@ object TMTimeLineMainForm: TTMTimeLineMainForm
OnChange = dtpSelDateChange
end
object edImageNo: TEdit
- Left = 136
+ AnchorSideLeft.Control = dtpFirstDate
+ AnchorSideLeft.Side = asrBottom
+ AnchorSideTop.Control = Label2
+ AnchorSideTop.Side = asrBottom
+ Left = 131
Height = 23
Hint = 'Sets the imageindex to insert at the current date'#13#10'(use -1 to remove image)'
- Top = 15
- Width = 81
+ Top = 17
+ Width = 68
+ BorderSpacing.Left = 40
+ BorderSpacing.Top = 2
TabOrder = 2
Text = '-1'
end
object udImageNo: TUpDown
- Left = 217
+ AnchorSideLeft.Control = edImageNo
+ AnchorSideLeft.Side = asrBottom
+ Left = 199
Height = 23
- Top = 15
+ Top = 17
Width = 15
Associate = edImageNo
+ BorderSpacing.Right = 12
Min = -1
Position = -1
TabOrder = 3
Wrap = False
end
object dtpImageDate: TDateTimePicker
- Left = 136
+ AnchorSideLeft.Control = edImageNo
+ AnchorSideTop.Control = Label5
+ AnchorSideTop.Side = asrBottom
+ AnchorSideRight.Control = udImageNo
+ AnchorSideRight.Side = asrBottom
+ Left = 131
Height = 23
Hint = 'Sets the date to insert / delete an image'
- Top = 63
- Width = 79
+ Top = 65
+ Width = 83
CenturyFrom = 1941
MaxDate = 2958465
MinDate = -53780
TabOrder = 4
+ BorderSpacing.Top = 2
TrailingSeparator = False
LeadingZeros = True
+ Anchors = [akTop, akLeft, akRight]
Kind = dtkDate
TimeFormat = tf24
TimeDisplay = tdHMS
@@ -240,47 +266,57 @@ object TMTimeLineMainForm: TTMTimeLineMainForm
CalAlignment = dtaLeft
end
object btnAdd: TButton
- Left = 157
+ AnchorSideRight.Control = udImageNo
+ AnchorSideRight.Side = asrBottom
+ Left = 166
Height = 25
Hint = 'Adds an image to the chosen date'
Top = 103
- Width = 75
+ Width = 48
+ Anchors = [akTop, akRight]
+ AutoSize = True
+ BorderSpacing.Bottom = 12
Caption = '&Add'
OnClick = btnAddClick
TabOrder = 5
end
end
object gbAppearance: TGroupBox
- Left = 208
- Height = 176
- Top = 80
- Width = 257
+ AnchorSideLeft.Control = gbWidths
+ AnchorSideLeft.Side = asrBottom
+ AnchorSideTop.Control = gbWidths
+ Left = 315
+ Height = 194
+ Top = 4
+ Width = 258
+ AutoSize = True
+ BorderSpacing.Left = 24
Caption = ' Appearance: '
- ClientHeight = 156
- ClientWidth = 253
- TabOrder = 2
+ ClientHeight = 174
+ ClientWidth = 254
+ TabOrder = 1
object Label13: TLabel
AnchorSideLeft.Control = chkRClick
AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = chkEnabled
- Left = 127
+ Left = 128
Height = 15
- Top = 57
+ Top = 63
Width = 114
BorderSpacing.Left = 8
- BorderSpacing.Right = 8
+ BorderSpacing.Right = 12
Caption = 'Assigned object style:'
ParentColor = False
end
object chkReadOnly: TCheckBox
AnchorSideLeft.Control = gbAppearance
AnchorSideTop.Control = gbAppearance
- Left = 11
+ Left = 12
Height = 19
Hint = 'Makes the control read-only'
Top = 0
Width = 74
- BorderSpacing.Left = 11
+ BorderSpacing.Left = 12
Caption = 'Read-only'
OnClick = chkReadOnlyClick
TabOrder = 0
@@ -289,11 +325,12 @@ object TMTimeLineMainForm: TTMTimeLineMainForm
AnchorSideLeft.Control = chkReadOnly
AnchorSideTop.Control = chkReadOnly
AnchorSideTop.Side = asrBottom
- Left = 11
+ Left = 12
Height = 19
Hint = 'Makes the control flat'
- Top = 19
+ Top = 21
Width = 39
+ BorderSpacing.Top = 2
Caption = 'Flat'
OnClick = chkFlatClick
TabOrder = 1
@@ -302,11 +339,12 @@ object TMTimeLineMainForm: TTMTimeLineMainForm
AnchorSideLeft.Control = chkReadOnly
AnchorSideTop.Control = chkFlat
AnchorSideTop.Side = asrBottom
- Left = 11
+ Left = 12
Height = 19
Hint = 'Moves the selection on right-click too'
- Top = 38
+ Top = 42
Width = 108
+ BorderSpacing.Top = 2
Caption = 'Right click select'
OnClick = chkRClickClick
TabOrder = 2
@@ -315,11 +353,12 @@ object TMTimeLineMainForm: TTMTimeLineMainForm
AnchorSideLeft.Control = chkReadOnly
AnchorSideTop.Control = chkRClick
AnchorSideTop.Side = asrBottom
- Left = 11
+ Left = 12
Height = 19
Hint = 'Enables the control'
- Top = 57
+ Top = 63
Width = 62
+ BorderSpacing.Top = 2
Caption = 'Enabled'
Checked = True
OnClick = chkEnabledClick
@@ -330,10 +369,11 @@ object TMTimeLineMainForm: TTMTimeLineMainForm
AnchorSideLeft.Control = chkReadOnly
AnchorSideTop.Control = chkEnabled
AnchorSideTop.Side = asrBottom
- Left = 11
+ Left = 12
Height = 19
- Top = 76
+ Top = 84
Width = 82
+ BorderSpacing.Top = 2
Caption = 'Show today'
Checked = True
OnClick = chkShowTodayClick
@@ -344,10 +384,11 @@ object TMTimeLineMainForm: TTMTimeLineMainForm
AnchorSideLeft.Control = chkReadOnly
AnchorSideTop.Control = chkShowTodayIcon
AnchorSideTop.Side = asrBottom
- Left = 11
+ Left = 12
Height = 19
- Top = 114
+ Top = 126
Width = 84
+ BorderSpacing.Top = 2
Caption = 'Show weeks'
Checked = True
OnClick = chkShowWeeksClick
@@ -358,10 +399,12 @@ object TMTimeLineMainForm: TTMTimeLineMainForm
AnchorSideLeft.Control = chkReadOnly
AnchorSideTop.Control = chkShowWeeks
AnchorSideTop.Side = asrBottom
- Left = 11
+ AnchorSideBottom.Side = asrBottom
+ Left = 12
Height = 19
- Top = 133
+ Top = 147
Width = 93
+ BorderSpacing.Top = 2
BorderSpacing.Bottom = 8
Caption = 'Show months'
Checked = True
@@ -373,16 +416,18 @@ object TMTimeLineMainForm: TTMTimeLineMainForm
AnchorSideLeft.Control = Label13
AnchorSideTop.Control = Label13
AnchorSideTop.Side = asrBottom
- AnchorSideRight.Control = Label13
AnchorSideRight.Side = asrBottom
- Left = 127
- Height = 78
+ AnchorSideBottom.Control = chkShowMonths
+ AnchorSideBottom.Side = asrBottom
+ Left = 128
+ Height = 86
Hint = 'Sets the font to use for day items that'#13#10'have a non-nil Objects item'
- Top = 74
- Width = 114
- Anchors = [akTop, akLeft, akRight]
+ Top = 80
+ Width = 107
+ Anchors = [akTop, akLeft, akBottom]
BorderSpacing.Top = 2
- BorderSpacing.Bottom = 8
+ BorderSpacing.Right = 12
+ IntegralHeight = True
Items.Strings = (
'Bold'
'Italic'
@@ -400,10 +445,11 @@ object TMTimeLineMainForm: TTMTimeLineMainForm
AnchorSideLeft.Control = chkReadOnly
AnchorSideTop.Control = chkShowToday
AnchorSideTop.Side = asrBottom
- Left = 11
+ Left = 12
Height = 19
- Top = 95
+ Top = 105
Width = 108
+ BorderSpacing.Top = 2
Caption = 'Show today icon'
Checked = True
OnClick = chkShowTodayIconClick
@@ -412,120 +458,191 @@ object TMTimeLineMainForm: TTMTimeLineMainForm
end
end
object gbMisc: TGroupBox
- Left = 264
- Height = 129
- Top = 264
- Width = 192
+ AnchorSideLeft.Control = gbFonts
+ AnchorSideLeft.Side = asrBottom
+ AnchorSideTop.Control = gbFonts
+ AnchorSideBottom.Side = asrBottom
+ Left = 369
+ Height = 94
+ Top = 206
+ Width = 145
+ AutoSize = True
+ BorderSpacing.Left = 24
+ BorderSpacing.Bottom = 16
Caption = ' Misc. '
- ClientHeight = 109
- ClientWidth = 188
- TabOrder = 5
+ ClientHeight = 74
+ ClientWidth = 141
+ TabOrder = 4
object btnLoad: TButton
- Left = 14
+ AnchorSideLeft.Control = gbMisc
+ AnchorSideTop.Control = gbMisc
+ Left = 16
Height = 25
Hint = 'Loads a previously saved timeline file'
- Top = 6
- Width = 110
+ Top = 4
+ Width = 109
+ AutoSize = True
+ BorderSpacing.Left = 16
+ BorderSpacing.Top = 4
+ BorderSpacing.Right = 16
Caption = 'Load from file...'
OnClick = btnLoadClick
TabOrder = 0
end
object btnSave: TButton
- Left = 14
+ AnchorSideLeft.Control = btnLoad
+ AnchorSideTop.Control = btnLoad
+ AnchorSideTop.Side = asrBottom
+ AnchorSideRight.Control = btnLoad
+ AnchorSideRight.Side = asrBottom
+ Left = 16
Height = 25
Hint = 'Saves the current content to a timeline file'
- Top = 38
- Width = 110
+ Top = 37
+ Width = 109
+ Anchors = [akTop, akLeft, akRight]
+ AutoSize = True
+ BorderSpacing.Top = 8
+ BorderSpacing.Bottom = 12
Caption = 'Save to file...'
OnClick = btnSaveClick
TabOrder = 1
end
end
object gbFonts: TGroupBox
- Left = 8
+ AnchorSideLeft.Control = gbWidths
+ AnchorSideTop.Control = gbAppearance
+ AnchorSideTop.Side = asrBottom
+ Left = 100
Height = 129
- Top = 264
- Width = 241
+ Top = 206
+ Width = 245
+ AutoSize = True
+ BorderSpacing.Top = 8
Caption = ' Fonts and colors: '
ClientHeight = 109
- ClientWidth = 237
- TabOrder = 4
+ ClientWidth = 241
+ TabOrder = 3
object btnFont: TButton
- Left = 14
+ AnchorSideLeft.Control = btnColor
+ AnchorSideTop.Control = btnColor
+ AnchorSideTop.Side = asrBottom
+ AnchorSideRight.Control = btnMonthFont
+ AnchorSideRight.Side = asrBottom
+ Left = 12
Height = 25
Hint = 'Sets the font for days'
- Top = 40
- Width = 90
+ Top = 37
+ Width = 96
+ Anchors = [akTop, akLeft, akRight]
+ AutoSize = True
+ BorderSpacing.Top = 8
Caption = 'Font...'
OnClick = btnFontClick
TabOrder = 1
end
object btnColor: TButton
- Left = 14
+ AnchorSideLeft.Control = btnMonthFont
+ AnchorSideTop.Control = gbFonts
+ AnchorSideRight.Control = btnMonthFont
+ AnchorSideRight.Side = asrBottom
+ Left = 12
Height = 25
Hint = 'Sets the background color'
- Top = 8
- Width = 90
+ Top = 4
+ Width = 96
+ Anchors = [akTop, akLeft, akRight]
+ AutoSize = True
+ BorderSpacing.Top = 4
Caption = 'Color...'
OnClick = btnColorClick
TabOrder = 0
end
object btnMonthFont: TButton
- Left = 14
+ AnchorSideLeft.Control = gbFonts
+ AnchorSideTop.Control = btnFont
+ AnchorSideTop.Side = asrBottom
+ Left = 12
Height = 25
Hint = 'Sets the font for months and years'
- Top = 72
- Width = 90
+ Top = 70
+ Width = 96
+ AutoSize = True
+ BorderSpacing.Left = 12
+ BorderSpacing.Top = 8
Caption = 'Month font...'
OnClick = btnMonthFontClick
TabOrder = 2
end
object btnTodayColor: TButton
- Left = 118
+ AnchorSideLeft.Control = btnPenColor
+ AnchorSideTop.Control = btnFont
+ AnchorSideRight.Control = btnPenColor
+ AnchorSideRight.Side = asrBottom
+ Left = 116
Height = 25
Hint = 'Sets the background color for the today item'
- Top = 40
- Width = 106
+ Top = 37
+ Width = 113
+ Anchors = [akTop, akLeft, akRight]
+ AutoSize = True
Caption = 'Today color...'
OnClick = btnTodayColorClick
TabOrder = 4
end
object btnLineColor: TButton
- Left = 118
+ AnchorSideLeft.Control = btnPenColor
+ AnchorSideTop.Control = btnColor
+ AnchorSideRight.Control = btnPenColor
+ AnchorSideRight.Side = asrBottom
+ Left = 116
Height = 25
- Top = 8
- Width = 106
+ Top = 4
+ Width = 113
+ Anchors = [akTop, akLeft, akRight]
+ AutoSize = True
Caption = 'Line color...'
OnClick = btnLineColorClick
TabOrder = 3
end
object btnPenColor: TButton
- Left = 118
+ AnchorSideLeft.Control = btnMonthFont
+ AnchorSideLeft.Side = asrBottom
+ AnchorSideTop.Control = btnMonthFont
+ Left = 116
Height = 25
Hint = 'Sets the color of the selection frame'
- Top = 72
- Width = 106
+ Top = 70
+ Width = 113
+ AutoSize = True
+ BorderSpacing.Left = 8
+ BorderSpacing.Right = 12
+ BorderSpacing.Bottom = 14
Caption = 'Selection color...'
OnClick = btnPenColorClick
TabOrder = 5
end
end
object gbWidths: TGroupBox
- Left = 8
+ AnchorSideLeft.Control = LbImages
+ AnchorSideLeft.Side = asrBottom
+ AnchorSideTop.Control = LblImages
+ Left = 100
Height = 161
- Top = 80
- Width = 185
+ Top = 4
+ Width = 191
AutoSize = True
+ BorderSpacing.Left = 12
Caption = ' Widths and sizes: '
ClientHeight = 141
- ClientWidth = 181
- TabOrder = 1
+ ClientWidth = 187
+ TabOrder = 0
object Label1: TLabel
AnchorSideTop.Control = edDayWidth
AnchorSideTop.Side = asrCenter
AnchorSideRight.Control = Label9
AnchorSideRight.Side = asrBottom
- Left = 28
+ Left = 30
Height = 15
Top = 60
Width = 56
@@ -539,7 +656,7 @@ object TMTimeLineMainForm: TTMTimeLineMainForm
AnchorSideTop.Side = asrCenter
AnchorSideRight.Control = Label9
AnchorSideRight.Side = asrBottom
- Left = 8
+ Left = 10
Height = 15
Top = 87
Width = 76
@@ -552,12 +669,12 @@ object TMTimeLineMainForm: TTMTimeLineMainForm
AnchorSideTop.Control = edScrollSmall
AnchorSideTop.Side = asrCenter
AnchorSideRight.Control = edScrollSmall
- Left = 10
+ Left = 12
Height = 15
Top = 6
Width = 74
Anchors = [akTop, akRight]
- BorderSpacing.Left = 8
+ BorderSpacing.Left = 12
BorderSpacing.Right = 4
Caption = 'Small change:'
ParentColor = False
@@ -567,7 +684,7 @@ object TMTimeLineMainForm: TTMTimeLineMainForm
AnchorSideTop.Side = asrCenter
AnchorSideRight.Control = Label9
AnchorSideRight.Side = asrBottom
- Left = 10
+ Left = 12
Height = 15
Top = 33
Width = 74
@@ -581,7 +698,7 @@ object TMTimeLineMainForm: TTMTimeLineMainForm
AnchorSideTop.Side = asrCenter
AnchorSideRight.Control = Label9
AnchorSideRight.Side = asrBottom
- Left = 12
+ Left = 14
Height = 15
Top = 114
Width = 72
@@ -594,7 +711,7 @@ object TMTimeLineMainForm: TTMTimeLineMainForm
AnchorSideLeft.Control = Label15
AnchorSideTop.Control = edScrollSmall
AnchorSideTop.Side = asrCenter
- Left = 144
+ Left = 146
Height = 15
Top = 6
Width = 24
@@ -605,7 +722,7 @@ object TMTimeLineMainForm: TTMTimeLineMainForm
AnchorSideLeft.Control = Label15
AnchorSideTop.Control = edScrollLarge
AnchorSideTop.Side = asrCenter
- Left = 144
+ Left = 146
Height = 15
Top = 33
Width = 24
@@ -615,14 +732,13 @@ object TMTimeLineMainForm: TTMTimeLineMainForm
object Label15: TLabel
AnchorSideTop.Control = edDayWidth
AnchorSideTop.Side = asrCenter
- AnchorSideRight.Control = gbWidths
AnchorSideRight.Side = asrBottom
- Left = 144
+ Left = 146
Height = 15
Top = 60
Width = 29
Anchors = [akTop, akRight]
- BorderSpacing.Right = 8
+ BorderSpacing.Right = 12
Caption = 'pixels'
ParentColor = False
end
@@ -630,7 +746,7 @@ object TMTimeLineMainForm: TTMTimeLineMainForm
AnchorSideLeft.Control = Label15
AnchorSideTop.Control = edPenWidth
AnchorSideTop.Side = asrCenter
- Left = 144
+ Left = 146
Height = 15
Top = 87
Width = 29
@@ -641,7 +757,7 @@ object TMTimeLineMainForm: TTMTimeLineMainForm
AnchorSideLeft.Control = Label15
AnchorSideTop.Control = edButtonWidth
AnchorSideTop.Side = asrCenter
- Left = 144
+ Left = 146
Height = 15
Top = 114
Width = 29
@@ -654,7 +770,7 @@ object TMTimeLineMainForm: TTMTimeLineMainForm
AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = edScrollSmall
AnchorSideRight.Side = asrBottom
- Left = 88
+ Left = 90
Height = 23
Hint = 'Sets the width in pixels of a single day'
Top = 56
@@ -667,7 +783,7 @@ object TMTimeLineMainForm: TTMTimeLineMainForm
object udDayWidth: TUpDown
AnchorSideRight.Control = udScrollSmall
AnchorSideRight.Side = asrBottom
- Left = 125
+ Left = 127
Height = 23
Top = 56
Width = 15
@@ -686,7 +802,7 @@ object TMTimeLineMainForm: TTMTimeLineMainForm
AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = edScrollSmall
AnchorSideRight.Side = asrBottom
- Left = 88
+ Left = 90
Height = 23
Hint = 'Sets the width of the selection frame'
Top = 83
@@ -699,7 +815,7 @@ object TMTimeLineMainForm: TTMTimeLineMainForm
object udPenWidth: TUpDown
AnchorSideRight.Control = udScrollSmall
AnchorSideRight.Side = asrBottom
- Left = 125
+ Left = 127
Height = 23
Top = 83
Width = 15
@@ -714,7 +830,7 @@ object TMTimeLineMainForm: TTMTimeLineMainForm
object edScrollSmall: TEdit
AnchorSideTop.Control = gbWidths
AnchorSideRight.Control = udScrollSmall
- Left = 88
+ Left = 90
Height = 23
Hint = 'Sets the number of days to scroll when clicking the buttons '#13#10'or when using the arrow-keys'
Top = 2
@@ -727,7 +843,7 @@ object TMTimeLineMainForm: TTMTimeLineMainForm
end
object udScrollSmall: TUpDown
AnchorSideRight.Control = Label11
- Left = 125
+ Left = 127
Height = 23
Top = 2
Width = 15
@@ -747,7 +863,7 @@ object TMTimeLineMainForm: TTMTimeLineMainForm
AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = edScrollSmall
AnchorSideRight.Side = asrBottom
- Left = 88
+ Left = 90
Height = 23
Hint = 'Sets the number of days to scroll when Ctrl + clicking the buttons '#13#10'or when using Ctrl+left arrow or Ctrl+right arrow'
Top = 29
@@ -760,7 +876,7 @@ object TMTimeLineMainForm: TTMTimeLineMainForm
object udScrollLarge: TUpDown
AnchorSideRight.Control = udScrollSmall
AnchorSideRight.Side = asrBottom
- Left = 125
+ Left = 127
Height = 23
Top = 29
Width = 15
@@ -779,7 +895,7 @@ object TMTimeLineMainForm: TTMTimeLineMainForm
AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = edScrollSmall
AnchorSideRight.Side = asrBottom
- Left = 88
+ Left = 90
Height = 23
Hint = 'Sets the width of the scrollbuttons'
Top = 110
@@ -793,7 +909,7 @@ object TMTimeLineMainForm: TTMTimeLineMainForm
object udButtonWidth: TUpDown
AnchorSideRight.Control = udScrollSmall
AnchorSideRight.Side = asrBottom
- Left = 125
+ Left = 127
Height = 23
Top = 110
Width = 15
@@ -807,13 +923,33 @@ object TMTimeLineMainForm: TTMTimeLineMainForm
Wrap = False
end
end
+ object LbImages: TListBox
+ AnchorSideLeft.Control = Panel1
+ AnchorSideTop.Control = LblImages
+ AnchorSideTop.Side = asrBottom
+ AnchorSideBottom.Control = Panel1
+ AnchorSideBottom.Side = asrBottom
+ Left = 4
+ Height = 312
+ Top = 23
+ Width = 84
+ Anchors = [akTop, akLeft, akBottom]
+ BorderSpacing.Left = 4
+ BorderSpacing.Top = 4
+ ItemHeight = 0
+ OnDrawItem = LbImagesDrawItem
+ OnSelectionChange = LbImagesSelectionChange
+ Style = lbOwnerDrawFixed
+ TabOrder = 5
+ end
end
object StatusBar: TStatusBar
Left = 0
Height = 23
Hint = 'Displays info about the control'
- Top = 557
- Width = 733
+ Top = 568
+ Width = 926
+ BorderSpacing.Top = 9
Panels = <
item
Width = 300
@@ -859,8 +995,8 @@ object TMTimeLineMainForm: TTMTimeLineMainForm
object il16: TImageList
Height = 18
Width = 14
- left = 560
- top = 16
+ left = 360
+ top = 43
Bitmap = {
4C69080000000E00000012000000000000000000000000000000000000000000
000000000000000000FF000000FF000000000000000000000000000000000000
diff --git a/components/jvcllaz/examples/JvTMTimeLine/TMTimeLineMainFormU.pas b/components/jvcllaz/examples/JvTMTimeLine/TMTimeLineMainFormU.pas
index 6b754464a..5da77e34e 100644
--- a/components/jvcllaz/examples/JvTMTimeLine/TMTimeLineMainFormU.pas
+++ b/components/jvcllaz/examples/JvTMTimeLine/TMTimeLineMainFormU.pas
@@ -32,16 +32,18 @@ unit TMTimeLineMainFormU;
interface
uses
- SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
+ LCLType, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
ExtCtrls, ComCtrls, StdCtrls, Buttons, ImgList, DateTimePicker,
- Menus, CheckLst, JvTMTimeLine;
+ Menus, CheckLst, ComboEx, JvTMTimeLine, Types;
type
+
+ { TTMTimeLineMainForm }
+
TTMTimeLineMainForm = class(TForm)
- Splitter1: TSplitter;
+ LbImages: TListBox;
Panel1: TPanel;
- Label6: TLabel;
- lvImages: TListView;
+ LblImages: TLabel;
popTimeLine: TPopupMenu;
mnuToday: TMenuItem;
mnuInsertImage: TMenuItem;
@@ -103,17 +105,27 @@ type
btnTodayColor: TButton;
btnLineColor: TButton;
btnPenColor: TButton;
- Label7: TLabel;
+ LblKeyboardNavigation: TLabel;
Label18: TLabel;
Label19: TLabel;
Label20: TLabel;
chkShowTodayIcon: TCheckBox;
+ procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
procedure FormCreate(Sender: TObject);
+ procedure FormMouseWheelDown(Sender: TObject; Shift: TShiftState;
+ MousePos: TPoint; var Handled: Boolean);
+ procedure FormMouseWheelUp(Sender: TObject; Shift: TShiftState;
+ MousePos: TPoint; var Handled: Boolean);
+ procedure FormShow(Sender: TObject);
+
procedure btnFontClick(Sender: TObject);
procedure btnMonthFontClick(Sender: TObject);
procedure chkReadOnlyClick(Sender: TObject);
procedure dtpFirstDateChange(Sender: TObject);
procedure dtpSelDateChange(Sender: TObject);
+ procedure LbImagesDrawItem(Control: TWinControl; Index: Integer;
+ ARect: TRect; State: TOwnerDrawState);
+ procedure LbImagesSelectionChange(Sender: TObject; User: boolean);
procedure udDayWidthClick(Sender: TObject; Button: TUDBtnType);
procedure btnColorClick(Sender: TObject);
procedure chkFlatClick(Sender: TObject);
@@ -131,7 +143,6 @@ type
procedure udScrollLargeClick(Sender: TObject; Button: TUDBtnType);
procedure mnuRemoveImageClick(Sender: TObject);
procedure mnuEditMemoClick(Sender: TObject);
- procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
procedure udButtonWidthClick(Sender: TObject; Button: TUDBtnType);
procedure btnLoadClick(Sender: TObject);
procedure btnSaveClick(Sender: TObject);
@@ -142,15 +153,11 @@ type
procedure chkShowMonthsClick(Sender: TObject);
procedure chkShowWeeksClick(Sender: TObject);
procedure chkShowTodayClick(Sender: TObject);
- procedure FormMouseWheelDown(Sender: TObject; Shift: TShiftState;
- MousePos: TPoint; var Handled: Boolean);
- procedure FormMouseWheelUp(Sender: TObject; Shift: TShiftState;
- MousePos: TPoint; var Handled: Boolean);
procedure btnLineColorClick(Sender: TObject);
procedure chkShowTodayIconClick(Sender: TObject);
private
{ Private declarations }
- JvTimeLine1:TJvTMTimeline;
+ JvTimeLine1: TJvTMTimeline;
procedure DoClick(Sender: TObject);
procedure DoDateChange(Sender: TObject);
procedure DoDblClick(Sender: TObject);
@@ -164,11 +171,14 @@ var
implementation
uses
- //ShellAPI,
+ Math,
frmMemoEdit;
{$R *.lfm}
+const
+ IMAGE_DIST = 4;
+
procedure TTMTimeLineMainForm.FormCreate(Sender: TObject);
var
i : integer;
@@ -182,6 +192,7 @@ begin
JvTimeLine1.OnDblClick := @DoDblClick;
JvTimeLine1.Images := il16;
JvTimeLine1.Align := alClient;
+ JvTimeLine1.Constraints.MinHeight := 60;
JvTimeLine1.Hint :=
'Double-click a date to edit it''s memo content.' +
LineEnding +
@@ -195,14 +206,15 @@ begin
JvTimeLine1.SelDate := dtpSelDate.Date;
lbObjFontStyle.Checked[2] := true;
for i := 0 to il16.Count - 1 do
- begin
- with lvImages.Items.Add do
- begin
- ImageIndex := i;
- Caption := IntToStr(i);
- end;
- end;
- Splitter1.Top := JvTimeLine1.Height + 5;
+ LbImages.Items.Add(IntToStr(i));
+ LblKeyboardNavigation.Font.Style := [fsBold];
+ LbImages.ItemHeight := Max(il16.Height, abs(LbImages.Font.Height)) + IMAGE_DIST;
+ i := LbImages.Canvas.TextWidth('99');
+ LbImages.Width := Max(
+ il16.Width + 4 * abs(LbImages.Font.Height) + 3 * IMAGE_DIST,
+ LblImages.Width
+ );
+ ActiveControl := JvTimeLine1;
end;
// Free any stringlists still around in the Objects array by calling the ClearObjects method
@@ -378,6 +390,48 @@ begin
JvTimeLine1.SelDate := dtpSelDate.Date;
end;
+procedure TTMTimeLineMainForm.LbImagesDrawItem(Control: TWinControl;
+ Index: Integer; ARect: TRect; State: TOwnerDrawState);
+var
+ h: Integer;
+begin
+ LbImages.Canvas.Font.Assign(LbImages.Font);
+ h := LbImages.Canvas.TextHeight('Tg');
+ if State * [odSelected, odFocused] <> [] then begin
+ LbImages.Canvas.Brush.Color := clHighlight;
+ LbImages.Canvas.font.Color := clHighlightText;
+ end else begin
+ lbImages.Canvas.Brush.Color := clWindow;
+ LbImages.Canvas.Font.Color := clWindowText;
+ end;
+ LbImages.Canvas.FillRect(ARect);
+ InflateRect(ARect, -IMAGE_DIST, 0);
+ il16.Draw(
+ LbImages.Canvas, ARect.Left,
+ (ARect.Top + ARect.Bottom - il16.Height) div 2,
+ Index
+ );
+ LbImages.Canvas.TextOut(
+ ARect.Left + il16.Width + IMAGE_DIST,
+ (ARect.Top + ARect.Bottom - h) div 2,
+ IntToStr(Index)
+ );
+end;
+
+procedure TTMTimeLineMainForm.LbImagesSelectionChange(Sender: TObject;
+ User: boolean);
+begin
+ if User then
+ udImageNo.Position := LbImages.ItemIndex;
+end;
+
+procedure TTMTimeLineMainForm.FormShow(Sender: TObject);
+begin
+ Constraints.MinWidth := GbDates.Left + GbDates.Width;
+ AutoSize := true;
+ AutoSize := false;
+end;
+
// change the selection frame Pen color
// You can also change any other property of the Selection, like
// Pen.Width, Pen.Style, Pen.Mode and whether the Selection frame is visible or not
diff --git a/components/jvcllaz/examples/JvTMTimeLine/frmMemoEdit.lfm b/components/jvcllaz/examples/JvTMTimeLine/frmMemoEdit.lfm
index bb5da1406..2f54d5087 100644
--- a/components/jvcllaz/examples/JvTMTimeLine/frmMemoEdit.lfm
+++ b/components/jvcllaz/examples/JvTMTimeLine/frmMemoEdit.lfm
@@ -10,38 +10,47 @@ object MemoEditFrm: TMemoEditFrm
ClientWidth = 305
Color = clBtnFace
Font.Color = clWindowText
- Font.Height = -11
- Font.Name = 'MS Sans Serif'
+ OnShow = FormShow
LCLVersion = '1.9.0.0'
object Panel1: TPanel
Left = 0
- Height = 41
- Top = 264
+ Height = 29
+ Top = 276
Width = 305
Align = alBottom
+ AutoSize = True
BevelOuter = bvNone
- ClientHeight = 41
+ ClientHeight = 29
ClientWidth = 305
Font.Color = clWindowText
ParentFont = False
TabOrder = 0
object btnOK: TButton
- Left = 137
+ AnchorSideTop.Control = btnCancel
+ AnchorSideRight.Control = btnCancel
+ Left = 160
Height = 25
- Top = 8
+ Top = 0
Width = 75
- Anchors = [akRight, akBottom]
+ Anchors = [akTop, akRight]
+ BorderSpacing.Right = 4
Caption = '&OK'
Default = True
ModalResult = 1
TabOrder = 0
end
object btnCancel: TButton
- Left = 217
+ AnchorSideTop.Control = Panel1
+ AnchorSideRight.Control = Panel1
+ AnchorSideRight.Side = asrBottom
+ Left = 239
Height = 25
- Top = 8
- Width = 75
- Anchors = [akRight, akBottom]
+ Top = 0
+ Width = 62
+ Anchors = [akTop, akRight]
+ AutoSize = True
+ BorderSpacing.Right = 4
+ BorderSpacing.Bottom = 4
Cancel = True
Caption = 'Cancel'
ModalResult = 2
@@ -50,7 +59,7 @@ object MemoEditFrm: TMemoEditFrm
end
object reLines: TMemo
Left = 4
- Height = 256
+ Height = 268
Top = 4
Width = 297
Align = alClient
diff --git a/components/jvcllaz/examples/JvTMTimeLine/frmMemoEdit.pas b/components/jvcllaz/examples/JvTMTimeLine/frmMemoEdit.pas
index f4eef02b6..8c5cfe7c4 100644
--- a/components/jvcllaz/examples/JvTMTimeLine/frmMemoEdit.pas
+++ b/components/jvcllaz/examples/JvTMTimeLine/frmMemoEdit.pas
@@ -35,6 +35,9 @@ uses
StdCtrls, ComCtrls, ExtCtrls, Menus;
type
+
+ { TMemoEditFrm }
+
TMemoEditFrm = class(TForm)
Panel1: TPanel;
btnOK: TButton;
@@ -49,6 +52,7 @@ type
Paste1: TMenuItem;
Selectall1: TMenuItem;
N2: TMenuItem;
+ procedure FormShow(Sender: TObject);
procedure Load1Click(Sender: TObject);
procedure Save1Click(Sender: TObject);
procedure Cut1Click(Sender: TObject);
@@ -95,6 +99,12 @@ begin
end;
end;
+procedure TMemoEditFrm.FormShow(Sender: TObject);
+begin
+ btnOK.Width := btnCancel.Width;
+ btnOK.Height := btnCancel.Height;
+end;
+
procedure TMemoEditFrm.Save1Click(Sender: TObject);
begin
with TSaveDialog.Create(nil) do
diff --git a/components/jvcllaz/resource/JvTMTimeLine.res b/components/jvcllaz/resource/JvTMTimeLine.res
deleted file mode 100644
index 619a9c769..000000000
Binary files a/components/jvcllaz/resource/JvTMTimeLine.res and /dev/null differ
diff --git a/components/jvcllaz/resource/jvtmtimeline.res b/components/jvcllaz/resource/jvtmtimeline.res
new file mode 100644
index 000000000..e401176a0
Binary files /dev/null and b/components/jvcllaz/resource/jvtmtimeline.res differ
diff --git a/components/jvcllaz/run/JvCustomControls/JvTMTimeLine.pas b/components/jvcllaz/run/JvCustomControls/JvTMTimeLine.pas
index 3179147f8..ea2ed612a 100644
--- a/components/jvcllaz/run/JvCustomControls/JvTMTimeLine.pas
+++ b/components/jvcllaz/run/JvCustomControls/JvTMTimeLine.pas
@@ -166,7 +166,7 @@ type
function GetVisibleDays: Integer;
property BorderStyle: TBorderStyle read GetBorderStyle write SetBorderStyle;
- property ButtonWidth: Integer read FButtonWidth write SetButtonWidth default 12;
+ property ButtonWidth: Integer read FButtonWidth write SetButtonWidth default 16;
property Cursor;
property DayWidth: Integer read FDayWidth write SetDayWidth default 19;
property ObjectsFontStyle: TFontStyles read FObjectsFontStyle write SetObjectsFontStyle default [fsUnderline];
@@ -325,7 +325,7 @@ uses
LCLStrConsts, Themes,
JvConsts, JvJCLUtils, JvJVCLUtils, JvResources;
-{$R ..\..\resource\JvTMTimeLine.res}
+{$R ..\..\resource\jvtmtimeline.res}
const
cMagic = 'Jv.TMTIMELINE1';
@@ -388,6 +388,8 @@ end;
//=== { TJvCustomTMTimeline } ================================================
constructor TJvCustomTMTimeline.Create(AOwner: TComponent);
+var
+ png: TPortableNetworkGraphic;
begin
inherited Create(AOwner);
DoubleBuffered := True;
@@ -412,7 +414,7 @@ begin
FMonthFont.Size := 18;
FObjectsFontStyle := [fsUnderline];
- FButtonWidth := 12;
+ FButtonWidth := 16;
FDate := SysUtils.Date - 7;
FSelDate := FDate - 1;
FDayWidth := 19;
@@ -425,8 +427,8 @@ begin
FShowTodayIcon := True;
FShowWeeks := True;
FShowMonths := True;
- Font.Size := 7;
- Font.Name := 'Times New Roman';
+ Font.Size := 0;
+ Font.Name := 'default';
FLeftBtn := TSpeedButton.Create(Self);
with FLeftBtn do
@@ -436,7 +438,13 @@ begin
Parent := Self;
Transparent := False;
Layout := blGlyphTop;
- Glyph.LoadFromResourceName(HInstance, 'JvCustomTMTimelineSCROLLLEFT');
+ png := TPortableNetworkGraphic.Create;
+ try
+ png.LoadFromResourceName(HInstance, 'jvcustomtmtimelinescrollleft');
+ Glyph.Assign(png);
+ finally
+ png.Free;
+ end;
OnMouseDown := @DoLMouseDown;
OnMouseUp := @DoMouseUp;
@@ -451,7 +459,13 @@ begin
Parent := Self;
Transparent := False;
Layout := blGlyphTop;
- Glyph.LoadFromResourceName(HInstance, 'JvCustomTMTimelineSCROLLRIGHT');
+ png := TPortableNetworkGraphic.Create;
+ try
+ png.LoadFromResourceName(HInstance, 'jvcustomtmtimelinescrollright');
+ Glyph.Assign(png);
+ finally
+ png.Free;
+ end;
OnMouseDown := @DoRMouseDown;
OnMouseUp := @DoMouseUp;
@@ -592,40 +606,30 @@ end;
procedure TJvCustomTMTimeline.DrawToday(ACanvas: TCanvas; const ARect: TRect);
var
Tmp: TColor;
- Bmp: TBitmap;
+ png: TPortableNetworkGraphic;
R: TRect;
+ x, y: Integer;
begin
- if ShowTodayIcon then
- Bmp := TBitmap.Create
- else
- Bmp := nil;
Tmp := ACanvas.Brush.Color;
try
- if ShowTodayIcon then
- Bmp.LoadFromResourceName(HInstance, 'JvCustomTMTimelineMILESTONELARGE');
- if ShowToday then
- begin
+ if ShowToday then begin
ACanvas.Brush.Color := FTodayColor;
ACanvas.FillRect(ARect);
end;
- if ShowTodayIcon then
- begin
- R := Classes.Rect(ARect.Left + ((ARect.Right - ARect.Left) - Bmp.Width) div 2,
- ARect.Top + CanvasMaxTextHeight(ACanvas) + 2,
- ARect.Left + ((ARect.Right - ARect.Left) - Bmp.Width) div 2 + Bmp.Width,
- ARect.Top + Bmp.Height + CanvasMaxTextHeight(ACanvas) + 2);
-(* {$IFDEF VCL}
- ACanvas.BrushCopy(R, Bmp, Rect(0, 0, Bmp.Width, Bmp.Height), clFuchsia);
- {$ENDIF VCL}
- {$IFDEF VisualCLX}
- *)
- Bmp.Transparent := True;
- ACanvas.Draw(R.Left, R.Top, Bmp);
-// {$ENDIF VisualCLX}
+ if ShowTodayIcon then begin
+ png := TPortableNetworkGraphic.Create;
+ try
+ png.LoadFromResourceName(HInstance, 'jvcustomtmtimelinemilestonelarge');
+ x := (ARect.Left + ARect.Right - png.Width) div 2;
+ y := ARect.Top + CanvasMaxTextHeight(ACanvas) + 4;
+ R := Classes.Rect(x, y, x + png.Width, y + png.Height);
+ ACanvas.Draw(R.Left, R.Top, png);
+ finally
+ png.Free;
+ end;
end;
finally
ACanvas.Brush.Color := Tmp;
- Bmp.Free;
end;
end;
@@ -656,7 +660,7 @@ begin
DrawToday(ACanvas, R);
DecodeDate(Self.Date + I, Y, M, D);
- R := Classes.Rect(I * FDayWidth, 4, I * FDayWidth + FDayWidth, Font.Size + 4);
+ R := Classes.Rect(I * FDayWidth, 8, I * FDayWidth + FDayWidth, Font.Size+8);
OffsetRect(R, FirstOffset, 0);
S := Format('%.2d', [D]);
SetBkMode(ACanvas.Handle, TRANSPARENT);
diff --git a/components/jvcllaz/run/JvCustomControls/images/jvcustomtmtimelinemilestonelarge.png b/components/jvcllaz/run/JvCustomControls/images/jvcustomtmtimelinemilestonelarge.png
new file mode 100644
index 000000000..d92c6fd2c
Binary files /dev/null and b/components/jvcllaz/run/JvCustomControls/images/jvcustomtmtimelinemilestonelarge.png differ
diff --git a/components/jvcllaz/run/JvCustomControls/images/jvcustomtmtimelinescrollleft.png b/components/jvcllaz/run/JvCustomControls/images/jvcustomtmtimelinescrollleft.png
new file mode 100644
index 000000000..40b47ddfe
Binary files /dev/null and b/components/jvcllaz/run/JvCustomControls/images/jvcustomtmtimelinescrollleft.png differ
diff --git a/components/jvcllaz/run/JvCustomControls/images/jvcustomtmtimelinescrollright.png b/components/jvcllaz/run/JvCustomControls/images/jvcustomtmtimelinescrollright.png
new file mode 100644
index 000000000..c4450735a
Binary files /dev/null and b/components/jvcllaz/run/JvCustomControls/images/jvcustomtmtimelinescrollright.png differ
diff --git a/components/jvcllaz/run/JvCustomControls/images/make_res.bat b/components/jvcllaz/run/JvCustomControls/images/make_res.bat
new file mode 100644
index 000000000..ff87adf63
--- /dev/null
+++ b/components/jvcllaz/run/JvCustomControls/images/make_res.bat
@@ -0,0 +1 @@
+lazres ../../../resource/jvtmtimeline.res jvcustomtmtimelinescrollleft.png jvcustomtmtimelinescrollright.png jvcustomtmtimelinemilestonelarge.png