diff --git a/components/jvcllaz/examples/JvThumbnail/JvThumbnailChildFormU.lfm b/components/jvcllaz/examples/JvThumbnail/JvThumbnailChildFormU.lfm index 43998650c..6a56f16b4 100644 --- a/components/jvcllaz/examples/JvThumbnail/JvThumbnailChildFormU.lfm +++ b/components/jvcllaz/examples/JvThumbnail/JvThumbnailChildFormU.lfm @@ -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 diff --git a/components/jvcllaz/examples/JvThumbnail/JvThumbnailChildFormU.pas b/components/jvcllaz/examples/JvThumbnail/JvThumbnailChildFormU.pas index 8f7560968..c41fdb5ca 100644 --- a/components/jvcllaz/examples/JvThumbnail/JvThumbnailChildFormU.pas +++ b/components/jvcllaz/examples/JvThumbnail/JvThumbnailChildFormU.pas @@ -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); diff --git a/components/jvcllaz/examples/JvThumbnail/JvThumbnailMainFormU.lfm b/components/jvcllaz/examples/JvThumbnail/JvThumbnailMainFormU.lfm index e7b1afb0a..f953fcdbf 100644 --- a/components/jvcllaz/examples/JvThumbnail/JvThumbnailMainFormU.lfm +++ b/components/jvcllaz/examples/JvThumbnail/JvThumbnailMainFormU.lfm @@ -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 diff --git a/components/jvcllaz/examples/JvThumbnail/JvThumbnailMainFormU.pas b/components/jvcllaz/examples/JvThumbnail/JvThumbnailMainFormU.pas index ae05bae3f..8a258ff1a 100644 --- a/components/jvcllaz/examples/JvThumbnail/JvThumbnailMainFormU.pas +++ b/components/jvcllaz/examples/JvThumbnail/JvThumbnailMainFormU.pas @@ -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;