jvcllaz: Extended Thumbnail demo with thumbnail and -title borders and image panning in child form.

git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6278 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
wp_xxyyzz
2018-03-25 00:05:20 +00:00
parent 49f7cf4793
commit 8e28ccfaf2
4 changed files with 583 additions and 131 deletions

View File

@ -1,28 +1,29 @@
object JvThumbnailChildForm: TJvThumbnailChildForm
Left = 367
Height = 529
Height = 600
Top = 149
Width = 828
Width = 845
Caption = 'JvThumbNail Demo'
ClientHeight = 529
ClientWidth = 828
ClientHeight = 600
ClientWidth = 845
Color = clBtnFace
Font.Color = clWindowText
OnCreate = FormCreate
OnShow = FormShow
LCLVersion = '1.9.0.0'
object Splitter2: TSplitter
Left = 238
Height = 529
Height = 600
Top = 0
Width = 3
end
object Panel6: TPanel
Left = 0
Height = 529
Height = 600
Top = 0
Width = 238
Align = alLeft
ClientHeight = 529
ClientHeight = 600
ClientWidth = 238
TabOrder = 0
object Splitter4: TSplitter
@ -54,7 +55,7 @@ object JvThumbnailChildForm: TJvThumbnailChildForm
end
object ShellListView: TShellListView
Left = 1
Height = 162
Height = 233
Top = 147
Width = 236
Align = alClient
@ -70,7 +71,7 @@ object JvThumbnailChildForm: TJvThumbnailChildForm
object Panel8: TPanel
Left = 1
Height = 219
Top = 309
Top = 380
Width = 236
Align = alBottom
AutoSize = True
@ -291,7 +292,7 @@ object JvThumbnailChildForm: TJvThumbnailChildForm
ClientWidth = 236
TabOrder = 3
OnResize = Panel10Resize
object FilterComboBox1: TFilterComboBox
object FilterComboBox: TFilterComboBox
Left = 0
Height = 23
Top = 0
@ -305,59 +306,39 @@ object JvThumbnailChildForm: TJvThumbnailChildForm
end
object Panel7: TPanel
Left = 241
Height = 529
Height = 600
Top = 0
Width = 587
Width = 604
Align = alClient
ClientHeight = 529
ClientWidth = 587
ClientHeight = 600
ClientWidth = 604
TabOrder = 1
object ThumbImage: TJvThumbImage
AnchorSideLeft.Control = Panel5
AnchorSideTop.Control = Panel5
AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = Panel5
AnchorSideRight.Side = asrBottom
AnchorSideBottom.Control = Panel7
AnchorSideBottom.Side = asrBottom
Left = 5
Height = 352
Top = 172
Width = 577
Anchors = [akTop, akLeft, akRight, akBottom]
AutoSize = True
BorderSpacing.Top = 8
BorderSpacing.Bottom = 4
IgnoreMouse = False
Angle = AT0
Zoom = 0
end
object Panel5: TPanel
Left = 5
Height = 159
Top = 5
Width = 577
Width = 594
Align = alTop
BorderSpacing.Around = 4
BevelOuter = bvNone
ClientHeight = 159
ClientWidth = 577
ClientWidth = 594
TabOrder = 0
object GbThumbImage: TGroupBox
AnchorSideLeft.Control = Panel1
AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = Panel5
AnchorSideRight.Control = GbAngle
AnchorSideRight.Side = asrBottom
Left = 430
Left = 423
Height = 78
Top = 0
Width = 127
Width = 131
Anchors = [akTop, akLeft, akRight]
BorderSpacing.Left = 8
BorderSpacing.Right = 8
Caption = 'THUMBIMAGE'
ClientHeight = 58
ClientWidth = 123
ClientWidth = 127
TabOrder = 0
object BtnInvert: TButton
AnchorSideLeft.Control = GbThumbImage
@ -367,7 +348,7 @@ object JvThumbnailChildForm: TJvThumbnailChildForm
Left = 8
Height = 25
Top = 0
Width = 107
Width = 111
Anchors = [akTop, akLeft, akRight]
AutoSize = True
BorderSpacing.Left = 8
@ -376,7 +357,7 @@ object JvThumbnailChildForm: TJvThumbnailChildForm
OnClick = BtnInvertClick
TabOrder = 0
end
object Button5: TButton
object BtnGrayScale: TButton
AnchorSideLeft.Control = BtnInvert
AnchorSideTop.Control = BtnInvert
AnchorSideTop.Side = asrBottom
@ -385,34 +366,36 @@ object JvThumbnailChildForm: TJvThumbnailChildForm
Left = 8
Height = 25
Top = 29
Width = 107
Width = 111
Anchors = [akTop, akLeft, akRight]
AutoSize = True
BorderSpacing.Top = 4
BorderSpacing.Bottom = 8
Caption = 'GRAYSCALE'
OnClick = Button5Click
OnClick = BtnGrayScaleClick
TabOrder = 1
end
end
object GbAngle: TRadioGroup
AnchorSideLeft.Control = GbThumbImage
AnchorSideLeft.Control = Panel1
AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = GbThumbImage
AnchorSideTop.Side = asrBottom
AnchorSideRight.Side = asrBottom
AnchorSideBottom.Control = Panel1
AnchorSideBottom.Side = asrBottom
Left = 430
Left = 423
Height = 73
Top = 86
Width = 131
Anchors = [akTop, akLeft, akBottom]
AutoFill = True
AutoSize = True
BorderSpacing.Left = 8
BorderSpacing.Top = 8
BorderSpacing.Right = 8
Caption = ' ThumbImage Angle '
ChildSizing.LeftRightSpacing = 6
ChildSizing.LeftRightSpacing = 16
ChildSizing.EnlargeHorizontal = crsHomogenousChildResize
ChildSizing.EnlargeVertical = crsHomogenousChildResize
ChildSizing.ShrinkHorizontal = crsScaleChilds
@ -432,14 +415,15 @@ object JvThumbnailChildForm: TJvThumbnailChildForm
TabOrder = 1
end
object ThumbNail: TJvThumbnail
AnchorSideLeft.Control = Panel5
AnchorSideTop.Control = Panel5
AnchorSideBottom.Control = Panel5
AnchorSideBottom.Side = asrBottom
Left = 9
Left = 2
Height = 159
Top = 0
Width = 152
Anchors = [akTop, akBottom]
Anchors = [akTop, akLeft, akBottom]
BorderSpacing.Left = 2
BorderSpacing.Right = 8
ClientHeight = 159
@ -455,7 +439,7 @@ object JvThumbnailChildForm: TJvThumbnailChildForm
AnchorSideLeft.Control = ThumbNail
AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = ThumbNail
Left = 169
Left = 162
Height = 159
Top = 0
Width = 253
@ -601,14 +585,52 @@ object JvThumbnailChildForm: TJvThumbnailChildForm
ParentColor = False
end
object SpinEdit1: TSpinEdit
Left = 2
AnchorSideLeft.Control = Panel1
Left = 10
Height = 23
Top = 80
Width = 86
BorderSpacing.Left = 8
OnChange = SpinEdit1Change
TabOrder = 6
end
end
end
object Panel2: TPanel
Left = 5
Height = 427
Top = 168
Width = 594
Align = alClient
BorderSpacing.Around = 4
BevelOuter = bvNone
ClientHeight = 427
ClientWidth = 594
TabOrder = 1
OnResize = Panel2Resize
object ThumbImage: TJvThumbImage
AnchorSideLeft.Control = Panel5
AnchorSideTop.Control = Panel5
AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = Panel5
AnchorSideRight.Side = asrBottom
AnchorSideBottom.Control = Panel7
AnchorSideBottom.Side = asrBottom
Left = 0
Height = 360
Top = 0
Width = 525
Anchors = [akTop, akLeft, akRight, akBottom]
AutoSize = True
BorderSpacing.Top = 8
BorderSpacing.Bottom = 4
OnMouseDown = ThumbImageMouseDown
OnMouseMove = ThumbImageMouseMove
OnMouseUp = ThumbImageMouseUp
IgnoreMouse = False
Angle = AT0
Zoom = 0
end
end
end
end

View File

@ -42,6 +42,7 @@ type
TJvThumbnailChildForm = class(TForm)
Bevel2: TBevel;
Panel1: TPanel;
Panel2: TPanel;
SpinEdit1: TSpinEdit;
Splitter2: TSplitter;
Panel6: TPanel;
@ -59,7 +60,7 @@ type
ContrastBar: TTrackBar;
BtnApply: TButton;
Panel10: TPanel;
FilterComboBox1: TFilterComboBox;
FilterComboBox: TFilterComboBox;
Panel7: TPanel;
Panel5: TPanel;
LblThumbTitle: TLabel;
@ -70,7 +71,7 @@ type
EdThumbTitle: TEdit;
GbThumbImage: TGroupBox;
BtnInvert: TButton;
Button5: TButton;
BtnGrayScale: TButton;
LblLightness: TLabel;
LightnessBar: TTrackBar;
BtnExit: TButton;
@ -78,23 +79,34 @@ type
ThumbNail: TJVThumbNail;
ThumbImage: TJvThumbImage;
procedure BtnApplyClick(Sender: TObject);
procedure ShellListViewChange(Sender: TObject);
procedure BtnInvertClick(Sender: TObject);
procedure BtnGrayScaleClick(Sender: TObject);
procedure CbAsButtonClick(Sender: TObject);
procedure CbAutoLoadClick(Sender: TObject);
procedure CbMinimizeMemClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure GbAngleClick(Sender: TObject);
procedure GbTitlePlacementClick(Sender: TObject);
procedure Panel10Resize(Sender: TObject);
procedure Panel2Resize(Sender: TObject);
procedure Panel8Resize(Sender: TObject);
procedure BtnInvertClick(Sender: TObject);
procedure Button5Click(Sender: TObject);
procedure ShellListViewChange(Sender: TObject);
procedure ShellTreeViewGetImageIndex(Sender: TObject; Node: TTreeNode);
procedure SpinEdit1Change(Sender: TObject);
procedure ThumbNailClick(Sender: TObject);
procedure Panel10Resize(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure GbAngleClick(Sender: TObject);
procedure ThumbImageMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure ThumbImageMouseMove(Sender: TObject;
Shift: TShiftState; X, Y: Integer);
procedure ThumbImageMouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
private
FMousePt: TPoint;
procedure LoadFile(const AFileName: String);
public
procedure SetFileName(AFileName: String);
function GetFileName: String;
procedure SetFileName(AFileName: String);
end;
var
@ -109,7 +121,7 @@ uses
procedure TJvThumbnailChildForm.BtnApplyClick(Sender: TObject);
begin
ThumbImage.ChangeRGB(redbar.Position,greenbar.Position,bluebar.Position);
ThumbImage.ChangeRGB(RedBar.Position, GreenBar.Position, BlueBar.Position);
ThumbImage.Contrast(ContrastBar.Position);
ThumbImage.Lightness(LightnessBar.Position);
RedBar.Position := 0;
@ -119,14 +131,32 @@ begin
LightnessBar.Position := 0;
end;
procedure TJvThumbnailChildForm.LoadFile(const AFileName: String);
var
crs: TCursor;
begin
crs := Screen.Cursor;
Screen.Cursor := crHourglass;
Application.ProcessMessages;
try
ThumbNail.FileName := AFileName;
ThumbImage.LoadFromFile(AFileName);
ThumbImage.Width := ThumbImage.Picture.Width;
ThumbImage.Height := ThumbImage.Picture.Height;
ThumbImage.Left := 0;
ThumbImage.Top := 0;
finally
Screen.Cursor := crs;
end;
end;
procedure TJvThumbnailChildForm.ShellListViewChange(Sender: TObject);
var
fn: String;
begin
if ShellListView.Selected <> nil then begin
fn := ShellListView.GetPathFromItem(ShellListView.Selected);
ThumbNail.FileName := fn;
ThumbImage.Loadfromfile(fn);
Loadfile(fn);
end;
end;
@ -144,6 +174,35 @@ begin
Thumbnail.Margin := SpinEdit1.Value;
end;
procedure TJvThumbnailChildForm.ThumbImageMouseDown(Sender: TObject;
Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
FMousePt := Point(X, Y);
ThumbImage.Cursor := crDrag;
end;
procedure TJvThumbnailChildForm.ThumbImageMouseMove(Sender: TObject;
Shift: TShiftState; X, Y: Integer);
var
L, T: Integer;
begin
if ssLeft in Shift then begin
L := ThumbImage.Left + (X - FMousePt.X);
T := ThumbImage.Top + (Y - FMousePt.Y);
if L > 0 then L := 0;
if T > 0 then T := 0;
if L + ThumbImage.Width < Width then L := Width - ThumbImage.Width;
if T + ThumbImage.Height < Height then T := Height - ThumbImage.Height;
ThumbImage.SetBounds(L, T, ThumbImage.Width, ThumbImage.Height);
end;
end;
procedure TJvThumbnailChildForm.ThumbImageMouseUp(Sender: TObject;
Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
ThumbImage.Cursor := crDefault;
end;
procedure TJvThumbnailChildForm.CbAsButtonClick(Sender: TObject);
begin
ThumbNail.Asbutton := CbAsButton.Checked;
@ -159,6 +218,14 @@ begin
ThumbNail.MinimizeMemory := CbMinimizeMem.Checked;
end;
procedure TJvThumbnailChildForm.FormCreate(Sender: TObject);
begin
{$IFDEF WINDOWS}
ThumbImage.Parent.DoubleBuffered := true;
ShellListView.DoubleBuffered := true;
{$ENDIF}
end;
procedure TJvThumbnailChildForm.GbTitlePlacementClick(Sender: TObject);
begin
ThumbNail.TitlePlacement := TTitlePos(GbTitlePlacement.ItemIndex);
@ -174,7 +241,7 @@ begin
ThumbImage.Invert;
end;
procedure TJvThumbnailChildForm.Button5Click(Sender: TObject);
procedure TJvThumbnailChildForm.BtnGrayScaleClick(Sender: TObject);
begin
ThumbImage.GrayScale;
end;
@ -187,8 +254,22 @@ end;
procedure TJvThumbnailChildForm.Panel10Resize(Sender: TObject);
begin
filtercombobox1.Width := panel10.ClientWidth;
filtercombobox1.Height:= panel10.ClientHeight;
FilterComboBox.Width := panel10.ClientWidth;
FilterComboBox.Height:= panel10.ClientHeight;
end;
procedure TJvThumbnailChildForm.Panel2Resize(Sender: TObject);
var
L, T: Integer;
begin
L := ThumbImage.Left;
T := ThumbImage.Top;
if (L < 0) and (L + ThumbImage.Width < Width) then
L := Width - ThumbImage.Width;
if (T < 0) and (T + ThumbImage.Height < Height) then
T := Height - ThumbImage.Height;
if (L <> ThumbImage.Left) or (T <> ThumbImage.Top) then
ThumbImage.SetBounds(L, T, ThumbImage.Width, ThumbImage.Height);
end;
procedure TJvThumbnailChildForm.FormShow(Sender: TObject);

View File

@ -2,10 +2,10 @@ object JvThumbnailMainForm: TJvThumbnailMainForm
Left = 296
Height = 656
Top = 126
Width = 878
Width = 931
Caption = 'JvThumbView Demo'
ClientHeight = 656
ClientWidth = 878
ClientWidth = 931
Color = clBtnFace
Constraints.MinHeight = 430
Constraints.MinWidth = 760
@ -19,7 +19,7 @@ object JvThumbnailMainForm: TJvThumbnailMainForm
Left = 0
Height = 632
Top = 0
Width = 878
Width = 931
ActivePage = TabSheet1
Align = alClient
TabIndex = 0
@ -27,9 +27,9 @@ object JvThumbnailMainForm: TJvThumbnailMainForm
object TabSheet1: TTabSheet
Caption = 'ThumbView Component'
ClientHeight = 604
ClientWidth = 870
ClientWidth = 923
object Splitter1: TSplitter
Left = 153
Left = 205
Height = 546
Top = 58
Width = 3
@ -38,12 +38,12 @@ object JvThumbnailMainForm: TJvThumbnailMainForm
Left = 0
Height = 58
Top = 0
Width = 870
Width = 923
Align = alTop
AutoSize = True
BevelOuter = bvNone
ClientHeight = 58
ClientWidth = 870
ClientWidth = 923
TabOrder = 0
object LblThumbSize: TLabel
AnchorSideLeft.Control = TbThumbSize
@ -261,52 +261,24 @@ object JvThumbnailMainForm: TJvThumbnailMainForm
OnClick = BtnEditSelThumbClick
TabOrder = 7
end
object CbThumbColor: TColorButton
AnchorSideLeft.Control = SpinEdit2
AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = SpinEdit2
Left = 760
Height = 25
Top = 27
Width = 27
BorderSpacing.Left = 16
BorderWidth = 2
ButtonColorSize = 16
ButtonColor = clBlack
OnColorChanged = CbThumbColorColorChanged
end
object CbTitleColor: TColorButton
AnchorSideLeft.Control = CbThumbColor
AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = CbThumbColor
Left = 789
Height = 25
Top = 27
Width = 27
BorderSpacing.Left = 2
BorderWidth = 2
ButtonColorSize = 16
ButtonColor = clBlack
OnColorChanged = CbTitleColorColorChanged
end
end
object Panel2: TPanel
Left = 0
Height = 546
Top = 58
Width = 153
Width = 205
Align = alLeft
BevelOuter = bvNone
Caption = 'Panel2'
ClientHeight = 546
ClientWidth = 153
ClientWidth = 205
TabOrder = 1
object ShellTreeView: TShellTreeView
Left = 0
Height = 376
Hint = 'Set directory where your images are located and watch the thumbview creating the thumbs'
Top = 0
Width = 153
Width = 205
Align = alClient
FileSortType = fstNone
HideSelection = False
@ -323,7 +295,7 @@ object JvThumbnailMainForm: TJvThumbnailMainForm
Height = 77
Hint = 'Change the AlignView property to either use the thumbGup (VTNormal) autocalculate the empty space to equall parts(VTSPACEEQUAL) or Cender the thumbs in the using the htumbgup between them.'
Top = 384
Width = 153
Width = 205
Align = alBottom
AutoFill = True
AutoSize = True
@ -337,7 +309,7 @@ object JvThumbnailMainForm: TJvThumbnailMainForm
ChildSizing.Layout = cclLeftToRightThenTopToBottom
ChildSizing.ControlsPerLine = 1
ClientHeight = 57
ClientWidth = 149
ClientWidth = 201
ItemIndex = 0
Items.Strings = (
'VTNormal'
@ -352,7 +324,7 @@ object JvThumbnailMainForm: TJvThumbnailMainForm
Height = 77
Hint = 'Change the ScrollMode to change the direction the thumb are scrolling in the screen SMVertical You will see a vertical scrollbar SMHorizontal For A horizontal ScrollBar or SMBoth to create a square view '
Top = 469
Width = 153
Width = 205
Align = alBottom
AutoFill = True
AutoSize = True
@ -366,7 +338,7 @@ object JvThumbnailMainForm: TJvThumbnailMainForm
ChildSizing.Layout = cclLeftToRightThenTopToBottom
ChildSizing.ControlsPerLine = 1
ClientHeight = 57
ClientWidth = 149
ClientWidth = 201
ItemIndex = 2
Items.Strings = (
'SMHorizontal'
@ -378,22 +350,22 @@ object JvThumbnailMainForm: TJvThumbnailMainForm
end
end
object Panel3: TPanel
Left = 156
Left = 208
Height = 546
Top = 58
Width = 714
Width = 715
Align = alClient
BevelOuter = bvNone
Caption = 'Panel3'
ClientHeight = 546
ClientWidth = 714
ClientWidth = 715
TabOrder = 2
object DirInfoPanel: TPanel
Left = 0
Height = 16
Hint = 'Read the selectedFile property to get the path+filename of the selected thumb'
Top = 530
Width = 714
Width = 715
Align = alBottom
BevelOuter = bvLowered
ParentShowHint = False
@ -404,7 +376,7 @@ object JvThumbnailMainForm: TJvThumbnailMainForm
Left = 0
Height = 530
Top = 0
Width = 714
Width = 553
HorzScrollBar.Page = 1
HorzScrollBar.Tracking = True
VertScrollBar.Page = 1
@ -415,25 +387,347 @@ object JvThumbnailMainForm: TJvThumbnailMainForm
OnDblClick = ThumbViewDblClick
OnMouseUp = ThumbViewMouseUp
AlignView = vtNormal
AutoScrolling = True
ThumbGap = 4
AsButtons = False
AutoHandleKeyb = True
MinMemory = True
MaxWidth = 200
AutoScrolling = True
Filter = 'Portable Graphics Network (*.png)|*.png|PCX Image (*.pcx)|*.pcx|ANI Image (*.ani)|*.ani|JPEG Image File (*.jpg)|*.jpg|Bitmaps (*.bmp)|*.bmp|Icons (*.ico)|*.ico|Enhanced Metafiles (*.emf)|*.emf|Metafiles (*.wmf)|*.wmf'
MaxHeight = 200
Size = 100
MaxWidth = 200
MinMemory = True
ScrollMode = smHorizontal
ShadowColor = clBlack
ShowShadow = False
Size = 100
Sorted = True
OnStartScanning = ThumbViewStartScanning
OnStopScanning = ThumbViewStopScanning
OnScanProgress = ThumbViewScanProgress
ThumbColor = clNone
OnChange = ThumbViewChange
OnKeyUp = ThumbViewKeyUp
AsButtons = False
Filter = 'Portable Graphics Network (*.png)|*.png|PCX Image (*.pcx)|*.pcx|ANI Image (*.ani)|*.ani|JPEG Image File (*.jpg)|*.jpg|Bitmaps (*.bmp)|*.bmp|Icons (*.ico)|*.ico|Enhanced Metafiles (*.emf)|*.emf|Metafiles (*.wmf)|*.wmf'
ThumbColor = clNone
ShowShadow = False
ShadowColor = clBlack
OnScanProgress = ThumbViewScanProgress
OnStartScanning = ThumbViewStartScanning
OnStopScanning = ThumbViewStopScanning
end
object Panel4: TPanel
Left = 561
Height = 530
Top = 0
Width = 146
Align = alRight
BorderSpacing.Left = 8
BorderSpacing.Right = 8
BevelOuter = bvNone
ClientHeight = 530
ClientWidth = 146
TabOrder = 2
object GroupBox1: TGroupBox
Left = 0
Height = 80
Top = 0
Width = 146
Align = alTop
AutoSize = True
Caption = 'Colors'
ClientHeight = 60
ClientWidth = 142
TabOrder = 0
object Label1: TLabel
AnchorSideLeft.Control = GroupBox1
AnchorSideTop.Control = CbThumbColor
AnchorSideTop.Side = asrCenter
Left = 16
Height = 15
Top = 5
Width = 58
BorderSpacing.Left = 16
BorderSpacing.Top = 4
Caption = 'Thumbnail'
ParentColor = False
end
object Label2: TLabel
AnchorSideLeft.Control = Label1
AnchorSideTop.Control = CbTitleColor
AnchorSideTop.Side = asrCenter
Left = 16
Height = 15
Top = 32
Width = 23
Caption = 'Title'
ParentColor = False
end
object CbThumbColor: TColorButton
AnchorSideLeft.Control = Label1
AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = GroupBox1
Left = 90
Height = 25
Top = 0
Width = 27
BorderSpacing.Left = 16
BorderWidth = 2
ButtonColorSize = 16
ButtonColor = clBlack
OnColorChanged = CbThumbColorColorChanged
end
object CbTitleColor: TColorButton
AnchorSideLeft.Control = CbThumbColor
AnchorSideTop.Side = asrBottom
Left = 90
Height = 25
Top = 27
Width = 27
BorderSpacing.Right = 8
BorderSpacing.Bottom = 8
BorderWidth = 2
ButtonColorSize = 16
ButtonColor = clBlack
OnColorChanged = CbTitleColorColorChanged
end
end
object GroupBox2: TGroupBox
Left = 0
Height = 164
Top = 88
Width = 146
Align = alTop
AutoSize = True
BorderSpacing.Top = 8
Caption = 'Thumbnail border'
ClientHeight = 144
ClientWidth = 142
TabOrder = 1
object CbThumbBevelInner: TComboBox
AnchorSideLeft.Control = Label5
AnchorSideTop.Control = Label5
AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = GroupBox2
AnchorSideRight.Side = asrBottom
Left = 16
Height = 23
Top = 17
Width = 110
Anchors = [akTop, akLeft, akRight]
BorderSpacing.Top = 2
BorderSpacing.Right = 16
ItemHeight = 15
ItemIndex = 0
Items.Strings = (
'bvNone'
'bvLowered'
'bvRaised'
)
OnChange = CbThumbBevelInnerChange
Style = csDropDownList
TabOrder = 0
Text = 'bvNone'
end
object Label5: TLabel
AnchorSideLeft.Control = GroupBox2
AnchorSideTop.Control = GroupBox2
Left = 16
Height = 15
Top = 0
Width = 58
BorderSpacing.Left = 16
Caption = 'Inner bevel'
ParentColor = False
end
object Label6: TLabel
AnchorSideLeft.Control = GroupBox2
AnchorSideTop.Control = CbThumbBevelInner
AnchorSideTop.Side = asrBottom
Left = 16
Height = 15
Top = 48
Width = 61
BorderSpacing.Left = 16
BorderSpacing.Top = 8
Caption = 'Outer bevel'
ParentColor = False
end
object CbThumbBevelOuter: TComboBox
AnchorSideLeft.Control = Label6
AnchorSideTop.Control = Label6
AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = CbThumbBevelInner
AnchorSideRight.Side = asrBottom
Left = 16
Height = 23
Top = 65
Width = 110
Anchors = [akTop, akLeft, akRight]
BorderSpacing.Top = 2
ItemHeight = 15
ItemIndex = 2
Items.Strings = (
'bvNone'
'bvLowered'
'bvRaised'
)
OnChange = CbThumbBevelOuterChange
Style = csDropDownList
TabOrder = 1
Text = 'bvRaised'
end
object Label7: TLabel
AnchorSideLeft.Control = GroupBox2
AnchorSideTop.Control = CbThumbBevelOuter
AnchorSideTop.Side = asrBottom
Left = 16
Height = 15
Top = 96
Width = 62
BorderSpacing.Left = 16
BorderSpacing.Top = 8
Caption = 'Border style'
ParentColor = False
end
object CbThumbBorderStyle: TComboBox
AnchorSideLeft.Control = Label7
AnchorSideTop.Control = Label7
AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = CbThumbBevelInner
AnchorSideRight.Side = asrBottom
Left = 16
Height = 23
Top = 113
Width = 110
Anchors = [akTop, akLeft, akRight]
BorderSpacing.Top = 2
BorderSpacing.Bottom = 8
ItemHeight = 15
ItemIndex = 0
Items.Strings = (
'bsNone'
'bsSingle'
)
OnChange = CbThumbBorderStyleChange
Style = csDropDownList
TabOrder = 2
Text = 'bsNone'
end
end
object GroupBox3: TGroupBox
Left = 0
Height = 164
Top = 260
Width = 146
Align = alTop
AutoSize = True
BorderSpacing.Top = 8
Caption = 'Title border'
ClientHeight = 144
ClientWidth = 142
TabOrder = 2
object CbThumbTitleBevelInner: TComboBox
AnchorSideLeft.Control = Label8
AnchorSideTop.Control = Label8
AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = GroupBox3
AnchorSideRight.Side = asrBottom
Left = 16
Height = 23
Top = 17
Width = 110
Anchors = [akTop, akLeft, akRight]
BorderSpacing.Top = 2
BorderSpacing.Right = 16
ItemHeight = 15
ItemIndex = 0
Items.Strings = (
'bvNone'
'bvLowered'
'bvRaised'
)
OnChange = CbThumbTitleBevelInnerChange
Style = csDropDownList
TabOrder = 0
Text = 'bvNone'
end
object Label8: TLabel
AnchorSideLeft.Control = GroupBox3
AnchorSideTop.Control = GroupBox3
Left = 16
Height = 15
Top = 0
Width = 58
BorderSpacing.Left = 16
Caption = 'Inner bevel'
ParentColor = False
end
object Label9: TLabel
AnchorSideLeft.Control = GroupBox3
AnchorSideTop.Control = CbThumbTitleBevelInner
AnchorSideTop.Side = asrBottom
Left = 16
Height = 15
Top = 48
Width = 61
BorderSpacing.Left = 16
BorderSpacing.Top = 8
Caption = 'Outer bevel'
ParentColor = False
end
object CbThumbTitleBevelOuter: TComboBox
AnchorSideLeft.Control = Label9
AnchorSideTop.Control = Label9
AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = CbThumbTitleBevelInner
AnchorSideRight.Side = asrBottom
Left = 16
Height = 23
Top = 65
Width = 110
Anchors = [akTop, akLeft, akRight]
BorderSpacing.Top = 2
ItemHeight = 15
ItemIndex = 2
Items.Strings = (
'bvNone'
'bvLowered'
'bvRaised'
)
OnChange = CbThumbTitleBevelOuterChange
Style = csDropDownList
TabOrder = 1
Text = 'bvRaised'
end
object Label10: TLabel
AnchorSideLeft.Control = GroupBox3
AnchorSideTop.Control = CbThumbTitleBevelOuter
AnchorSideTop.Side = asrBottom
Left = 16
Height = 15
Top = 96
Width = 62
BorderSpacing.Left = 16
BorderSpacing.Top = 8
Caption = 'Border style'
ParentColor = False
end
object CbThumbTitleBorderStyle: TComboBox
AnchorSideLeft.Control = Label10
AnchorSideTop.Control = Label10
AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = CbThumbTitleBevelInner
AnchorSideRight.Side = asrBottom
Left = 16
Height = 23
Top = 113
Width = 110
Anchors = [akTop, akLeft, akRight]
BorderSpacing.Top = 2
BorderSpacing.Bottom = 8
ItemHeight = 15
ItemIndex = 0
Items.Strings = (
'bsNone'
'bsSingle'
)
OnChange = CbThumbTitleBorderStyleChange
Style = csDropDownList
TabOrder = 2
Text = 'bsNone'
end
end
end
end
end
@ -442,11 +736,11 @@ object JvThumbnailMainForm: TJvThumbnailMainForm
Left = 0
Height = 24
Top = 632
Width = 878
Width = 931
Align = alBottom
BorderWidth = 2
ClientHeight = 24
ClientWidth = 878
ClientWidth = 931
TabOrder = 1
object Bevel1: TBevel
Left = 3

View File

@ -31,9 +31,10 @@ unit JvThumbnailMainFormU;
interface
uses
Classes, Controls, Graphics, Forms, StdCtrls, ExtCtrls, FileCtrl, ComCtrls, Spin,
ShellCtrls, ColorBox, Dialogs, JvThumbNails, JvThumbViews, JvBaseThumbnail,
JvThumbnailDatamodule;
Classes, Controls, Graphics, Forms, StdCtrls, ExtCtrls, ComCtrls, Dialogs,
Spin, ShellCtrls,
JvThumbNails, JvThumbViews, {%H-}JvThumbnailDatamodule;
{JvSpecialProgress,
JvListBox, JvDriveCtrls, JvCombobox, JvExControls, JvComponent,
JvExStdCtrls, JvExForms; }
@ -43,9 +44,27 @@ type
{ TJvThumbnailMainForm }
TJvThumbnailMainForm = class(TForm)
CbThumbTitleBevelInner: TComboBox;
CbThumbTitleBevelOuter: TComboBox;
CbThumbTitleBorderStyle: TComboBox;
CbThumbColor: TColorButton;
CbTitleColor: TColorButton;
CbThumbBevelInner: TComboBox;
CbThumbBevelOuter: TComboBox;
CbThumbBorderStyle: TComboBox;
GroupBox1: TGroupBox;
GroupBox2: TGroupBox;
GroupBox3: TGroupBox;
Label1: TLabel;
Label10: TLabel;
Label2: TLabel;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
Label8: TLabel;
Label9: TLabel;
PageControl1: TPageControl;
Panel4: TPanel;
TabSheet1: TTabSheet;
Splitter1: TSplitter;
Panel1: TPanel;
@ -71,7 +90,13 @@ type
Panel5: TPanel;
ProgressBar: TProgressBar;
Bevel1: TBevel;
procedure CbThumbBevelInnerChange(Sender: TObject);
procedure CbThumbBevelOuterChange(Sender: TObject);
procedure CbThumbBorderStyleChange(Sender: TObject);
procedure CbThumbColorColorChanged(Sender: TObject);
procedure CbThumbTitleBevelInnerChange(Sender: TObject);
procedure CbThumbTitleBevelOuterChange(Sender: TObject);
procedure CbThumbTitleBorderStyleChange(Sender: TObject);
procedure CbTitleColorColorChanged(Sender: TObject);
procedure ShellTreeViewChange(Sender: TObject; Node: TTreeNode);
procedure ShellTreeViewGetImageIndex(Sender: TObject; Node: TTreeNode);
@ -169,11 +194,41 @@ begin
ThumbView.MinMemory := CbMinMemory.Checked;
end;
procedure TJvThumbnailMainForm.CbThumbBevelInnerChange(Sender: TObject);
begin
ThumbView.ThumbBevelInner := TPanelBevel(CbThumbBevelInner.ItemIndex);
end;
procedure TJvThumbnailMainForm.CbThumbBevelOuterChange(Sender: TObject);
begin
ThumbView.ThumbBevelOuter := TPanelBevel(CbThumbBevelOuter.ItemIndex);
end;
procedure TJvThumbnailMainForm.CbThumbBorderStyleChange(Sender: TObject);
begin
ThumbView.ThumbBorderStyle := TBorderStyle(CbThumbBorderStyle.ItemIndex);
end;
procedure TJvThumbnailMainForm.CbThumbColorColorChanged(Sender: TObject);
begin
ThumbView.ThumbColor := CbThumbColor.ButtonColor;
end;
procedure TJvThumbnailMainForm.CbThumbTitleBevelInnerChange(Sender: TObject);
begin
ThumbView.ThumbTitleBevelInner := TPanelBevel(CbThumbTitleBevelInner.ItemIndex);
end;
procedure TJvThumbnailMainForm.CbThumbTitleBevelOuterChange(Sender: TObject);
begin
ThumbView.ThumbTitleBevelOuter := TPanelBevel(CbThumbTitleBevelOuter.ItemIndex);
end;
procedure TJvThumbnailMainForm.CbThumbTitleBorderStyleChange(Sender: TObject);
begin
ThumbView.ThumbTitleBorderStyle := TBorderStyle(CbThumbTitleBorderStyle.ItemIndex);
end;
procedure TJvThumbnailMainForm.CbTitleColorColorChanged(Sender: TObject);
begin
ThumbView.ThumbTitleColor := CbTitleColor.ButtonColor;