tvplanit: Background image in NavBar
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@4991 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
parent
c5edf6a2d1
commit
6ccfd77f7c
BIN
components/tvplanit/examples/navbar/bkimg.jpg
Normal file
BIN
components/tvplanit/examples/navbar/bkimg.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 3.4 KiB |
@ -1,22 +1,22 @@
|
|||||||
object Form1: TForm1
|
object Form1: TForm1
|
||||||
Left = 262
|
Left = 262
|
||||||
Height = 367
|
Height = 400
|
||||||
Top = 155
|
Top = 155
|
||||||
Width = 588
|
Width = 588
|
||||||
Caption = 'Form1'
|
Caption = 'Form1'
|
||||||
ClientHeight = 367
|
ClientHeight = 400
|
||||||
ClientWidth = 588
|
ClientWidth = 588
|
||||||
OnCreate = FormCreate
|
OnCreate = FormCreate
|
||||||
LCLVersion = '1.7'
|
LCLVersion = '1.7'
|
||||||
object VpNavBar1: TVpNavBar
|
object VpNavBar1: TVpNavBar
|
||||||
Left = 0
|
Left = 0
|
||||||
Height = 337
|
Height = 370
|
||||||
Top = 0
|
Top = 0
|
||||||
Width = 128
|
Width = 128
|
||||||
ActiveFolder = 0
|
ActiveFolder = 0
|
||||||
AllowRearrange = True
|
AllowRearrange = True
|
||||||
BackgroundColor = clInactiveCaption
|
BackgroundColor = clInactiveCaption
|
||||||
BackgroundMethod = bmNormal
|
BackgroundMethod = bmTile
|
||||||
BorderStyle = bsNone
|
BorderStyle = bsNone
|
||||||
ButtonHeight = 20
|
ButtonHeight = 20
|
||||||
DrawingStyle = dsEtchedButton
|
DrawingStyle = dsEtchedButton
|
||||||
@ -128,7 +128,7 @@ object Form1: TForm1
|
|||||||
Align = alLeft
|
Align = alLeft
|
||||||
ParentColor = False
|
ParentColor = False
|
||||||
end
|
end
|
||||||
object RadioGroup1: TRadioGroup
|
object RgDrawingStyle: TRadioGroup
|
||||||
Left = 141
|
Left = 141
|
||||||
Height = 116
|
Height = 116
|
||||||
Top = 32
|
Top = 32
|
||||||
@ -151,7 +151,7 @@ object Form1: TForm1
|
|||||||
'dsCoolTab'
|
'dsCoolTab'
|
||||||
'dsStandardTab'
|
'dsStandardTab'
|
||||||
)
|
)
|
||||||
OnClick = RadioGroup1Click
|
OnClick = RgDrawingStyleClick
|
||||||
TabOrder = 1
|
TabOrder = 1
|
||||||
end
|
end
|
||||||
object Label1: TLabel
|
object Label1: TLabel
|
||||||
@ -165,7 +165,7 @@ object Form1: TForm1
|
|||||||
object Panel1: TPanel
|
object Panel1: TPanel
|
||||||
Left = 0
|
Left = 0
|
||||||
Height = 30
|
Height = 30
|
||||||
Top = 337
|
Top = 370
|
||||||
Width = 588
|
Width = 588
|
||||||
Align = alBottom
|
Align = alBottom
|
||||||
ClientHeight = 30
|
ClientHeight = 30
|
||||||
@ -203,28 +203,28 @@ object Form1: TForm1
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
object BtnAddFolder: TButton
|
object BtnAddFolder: TButton
|
||||||
Left = 141
|
Left = 296
|
||||||
Height = 25
|
Height = 25
|
||||||
Top = 160
|
Top = 112
|
||||||
Width = 83
|
Width = 83
|
||||||
Caption = 'Add folder...'
|
Caption = 'Add folder...'
|
||||||
OnClick = BtnAddFolderClick
|
OnClick = BtnAddFolderClick
|
||||||
TabOrder = 3
|
TabOrder = 3
|
||||||
end
|
end
|
||||||
object BtnAddItem: TButton
|
object BtnAddItem: TButton
|
||||||
Left = 141
|
Left = 392
|
||||||
Height = 25
|
Height = 25
|
||||||
Top = 193
|
Top = 112
|
||||||
Width = 83
|
Width = 83
|
||||||
Caption = 'Add item...'
|
Caption = 'Add item...'
|
||||||
OnClick = BtnAddItemClick
|
OnClick = BtnAddItemClick
|
||||||
TabOrder = 4
|
TabOrder = 4
|
||||||
end
|
end
|
||||||
object RadioGroup2: TRadioGroup
|
object RgIconSize: TRadioGroup
|
||||||
Left = 301
|
Left = 296
|
||||||
Height = 65
|
Height = 49
|
||||||
Top = 32
|
Top = 32
|
||||||
Width = 91
|
Width = 139
|
||||||
AutoFill = True
|
AutoFill = True
|
||||||
Caption = 'Icons'
|
Caption = 'Icons'
|
||||||
ChildSizing.LeftRightSpacing = 6
|
ChildSizing.LeftRightSpacing = 6
|
||||||
@ -233,22 +233,126 @@ object Form1: TForm1
|
|||||||
ChildSizing.ShrinkHorizontal = crsScaleChilds
|
ChildSizing.ShrinkHorizontal = crsScaleChilds
|
||||||
ChildSizing.ShrinkVertical = crsScaleChilds
|
ChildSizing.ShrinkVertical = crsScaleChilds
|
||||||
ChildSizing.Layout = cclLeftToRightThenTopToBottom
|
ChildSizing.Layout = cclLeftToRightThenTopToBottom
|
||||||
ChildSizing.ControlsPerLine = 1
|
ChildSizing.ControlsPerLine = 2
|
||||||
ClientHeight = 45
|
ClientHeight = 29
|
||||||
ClientWidth = 87
|
ClientWidth = 135
|
||||||
|
Columns = 2
|
||||||
ItemIndex = 0
|
ItemIndex = 0
|
||||||
Items.Strings = (
|
Items.Strings = (
|
||||||
'large'
|
'large'
|
||||||
'small'
|
'small'
|
||||||
)
|
)
|
||||||
OnClick = RadioGroup2Click
|
OnClick = RgIconSizeClick
|
||||||
TabOrder = 5
|
TabOrder = 5
|
||||||
end
|
end
|
||||||
|
object GroupBox1: TGroupBox
|
||||||
|
Left = 141
|
||||||
|
Height = 112
|
||||||
|
Top = 168
|
||||||
|
Width = 411
|
||||||
|
Caption = 'Background'
|
||||||
|
ClientHeight = 92
|
||||||
|
ClientWidth = 407
|
||||||
|
TabOrder = 6
|
||||||
|
object BkColor: TColorBox
|
||||||
|
Left = 88
|
||||||
|
Height = 24
|
||||||
|
Top = 3
|
||||||
|
Width = 272
|
||||||
|
Style = [cbStandardColors, cbExtendedColors, cbSystemColors, cbCustomColors]
|
||||||
|
ItemHeight = 16
|
||||||
|
OnChange = BackgroundColorChange
|
||||||
|
TabOrder = 0
|
||||||
|
end
|
||||||
|
object RbBkColor: TRadioButton
|
||||||
|
Left = 14
|
||||||
|
Height = 19
|
||||||
|
Top = 3
|
||||||
|
Width = 49
|
||||||
|
Caption = 'Color'
|
||||||
|
Checked = True
|
||||||
|
OnChange = RbBkColorChange
|
||||||
|
TabOrder = 3
|
||||||
|
TabStop = True
|
||||||
|
end
|
||||||
|
object RbBkImage: TRadioButton
|
||||||
|
Left = 16
|
||||||
|
Height = 19
|
||||||
|
Top = 34
|
||||||
|
Width = 53
|
||||||
|
Caption = 'Image'
|
||||||
|
OnChange = RbBkColorChange
|
||||||
|
TabOrder = 1
|
||||||
|
end
|
||||||
|
object EdBkImage: TFileNameEdit
|
||||||
|
Left = 88
|
||||||
|
Height = 23
|
||||||
|
Top = 33
|
||||||
|
Width = 299
|
||||||
|
FileName = 'bkimg.jpg'
|
||||||
|
Filter = 'BMP files (*.bmp)|*.bmp|PNG files (*.png)|*.png|JPEG files (*.jpg; *.jpeg)|*.jpg;*.jpeg'
|
||||||
|
FilterIndex = 0
|
||||||
|
HideDirectories = False
|
||||||
|
ButtonWidth = 23
|
||||||
|
NumGlyphs = 1
|
||||||
|
MaxLength = 0
|
||||||
|
TabOrder = 2
|
||||||
|
Text = 'bkimg.jpg'
|
||||||
|
end
|
||||||
|
object Panel2: TPanel
|
||||||
|
Left = 80
|
||||||
|
Height = 26
|
||||||
|
Top = 62
|
||||||
|
Width = 229
|
||||||
|
BevelOuter = bvNone
|
||||||
|
ClientHeight = 26
|
||||||
|
ClientWidth = 229
|
||||||
|
TabOrder = 4
|
||||||
|
object RbBkImageNormal: TRadioButton
|
||||||
|
Left = 8
|
||||||
|
Height = 19
|
||||||
|
Top = 4
|
||||||
|
Width = 58
|
||||||
|
Caption = 'normal'
|
||||||
|
OnChange = RbBkColorChange
|
||||||
|
TabOrder = 1
|
||||||
|
end
|
||||||
|
object RbBkImageStretch: TRadioButton
|
||||||
|
Left = 88
|
||||||
|
Height = 19
|
||||||
|
Top = 4
|
||||||
|
Width = 56
|
||||||
|
Caption = 'stretch'
|
||||||
|
OnChange = RbBkColorChange
|
||||||
|
TabOrder = 0
|
||||||
|
end
|
||||||
|
object RbBkImageTile: TRadioButton
|
||||||
|
Left = 168
|
||||||
|
Height = 19
|
||||||
|
Top = 4
|
||||||
|
Width = 36
|
||||||
|
Caption = 'tile'
|
||||||
|
Checked = True
|
||||||
|
OnChange = RbBkColorChange
|
||||||
|
TabOrder = 2
|
||||||
|
TabStop = True
|
||||||
|
end
|
||||||
|
end
|
||||||
|
object BtnLoadBkImage: TButton
|
||||||
|
Left = 304
|
||||||
|
Height = 25
|
||||||
|
Top = 62
|
||||||
|
Width = 56
|
||||||
|
Caption = 'Load'
|
||||||
|
OnClick = BtnLoadBkImageClick
|
||||||
|
TabOrder = 5
|
||||||
|
end
|
||||||
|
end
|
||||||
object Images: TImageList
|
object Images: TImageList
|
||||||
Height = 32
|
Height = 32
|
||||||
Width = 32
|
Width = 32
|
||||||
left = 424
|
left = 488
|
||||||
top = 40
|
top = 32
|
||||||
Bitmap = {
|
Bitmap = {
|
||||||
4C690A0000002000000020000000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
4C690A0000002000000020000000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
|
||||||
|
@ -6,7 +6,7 @@ interface
|
|||||||
|
|
||||||
uses
|
uses
|
||||||
Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, ExtCtrls,
|
Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, ExtCtrls,
|
||||||
StdCtrls, VpNavBar;
|
StdCtrls, ColorBox, EditBtn, VpNavBar;
|
||||||
|
|
||||||
type
|
type
|
||||||
|
|
||||||
@ -16,22 +16,35 @@ type
|
|||||||
Bevel1: TBevel;
|
Bevel1: TBevel;
|
||||||
BtnAddFolder: TButton;
|
BtnAddFolder: TButton;
|
||||||
BtnAddItem: TButton;
|
BtnAddItem: TButton;
|
||||||
|
BkColor: TColorBox;
|
||||||
|
BtnLoadBkImage: TButton;
|
||||||
|
EdBkImage: TFileNameEdit;
|
||||||
|
GroupBox1: TGroupBox;
|
||||||
IconsLbl: TLabel;
|
IconsLbl: TLabel;
|
||||||
IconsLink: TLabel;
|
IconsLink: TLabel;
|
||||||
RadioGroup2: TRadioGroup;
|
Panel2: TPanel;
|
||||||
|
RbBkColor: TRadioButton;
|
||||||
|
RbBkImage: TRadioButton;
|
||||||
|
RbBkImageTile: TRadioButton;
|
||||||
|
RbBkImageStretch: TRadioButton;
|
||||||
|
RbBkImageNormal: TRadioButton;
|
||||||
|
RgIconSize: TRadioGroup;
|
||||||
Label1: TLabel;
|
Label1: TLabel;
|
||||||
Images: TImageList;
|
Images: TImageList;
|
||||||
Panel1: TPanel;
|
Panel1: TPanel;
|
||||||
RadioGroup1: TRadioGroup;
|
RgDrawingStyle: TRadioGroup;
|
||||||
VpNavBar1: TVpNavBar;
|
VpNavBar1: TVpNavBar;
|
||||||
|
procedure BackgroundColorChange(Sender: TObject);
|
||||||
procedure BtnAddFolderClick(Sender: TObject);
|
procedure BtnAddFolderClick(Sender: TObject);
|
||||||
procedure BtnAddItemClick(Sender: TObject);
|
procedure BtnAddItemClick(Sender: TObject);
|
||||||
|
procedure BtnLoadBkImageClick(Sender: TObject);
|
||||||
procedure FormCreate(Sender: TObject);
|
procedure FormCreate(Sender: TObject);
|
||||||
procedure IconsLinkClick(Sender: TObject);
|
procedure IconsLinkClick(Sender: TObject);
|
||||||
procedure IconsLinkMouseEnter(Sender: TObject);
|
procedure IconsLinkMouseEnter(Sender: TObject);
|
||||||
procedure IconsLinkMouseLeave(Sender: TObject);
|
procedure IconsLinkMouseLeave(Sender: TObject);
|
||||||
procedure RadioGroup1Click(Sender: TObject);
|
procedure RgDrawingStyleClick(Sender: TObject);
|
||||||
procedure RadioGroup2Click(Sender: TObject);
|
procedure RgIconSizeClick(Sender: TObject);
|
||||||
|
procedure RbBkColorChange(Sender: TObject);
|
||||||
procedure VpNavBar1FolderChanged(Sender: TObject; Index: Integer);
|
procedure VpNavBar1FolderChanged(Sender: TObject; Index: Integer);
|
||||||
procedure VpNavBar1ItemClick(Sender: TObject; Button: TMouseButton;
|
procedure VpNavBar1ItemClick(Sender: TObject; Button: TMouseButton;
|
||||||
Shift: TShiftState; Index: Integer);
|
Shift: TShiftState; Index: Integer);
|
||||||
@ -53,6 +66,11 @@ uses
|
|||||||
|
|
||||||
{ TForm1 }
|
{ TForm1 }
|
||||||
|
|
||||||
|
procedure TForm1.BackgroundColorChange(Sender: TObject);
|
||||||
|
begin
|
||||||
|
VpNavBar1.BackgroundColor := BkColor.Selected;
|
||||||
|
end;
|
||||||
|
|
||||||
procedure TForm1.BtnAddFolderClick(Sender: TObject);
|
procedure TForm1.BtnAddFolderClick(Sender: TObject);
|
||||||
var
|
var
|
||||||
s: String;
|
s: String;
|
||||||
@ -81,11 +99,82 @@ begin
|
|||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
procedure TForm1.BtnLoadBkImageClick(Sender: TObject);
|
||||||
|
var
|
||||||
|
ext: String;
|
||||||
|
bmp: TBitmap;
|
||||||
|
jpg: TJpegImage;
|
||||||
|
png: TPortableNetworkGraphic;
|
||||||
|
begin
|
||||||
|
if EdBkImage.FileName = '' then
|
||||||
|
exit;
|
||||||
|
if not FileExists(EdBkImage.FileName) then
|
||||||
|
exit;
|
||||||
|
ext := Lowercase(ExtractFileExt(EdBkImage.FileName));
|
||||||
|
case ext of
|
||||||
|
'.bmp':
|
||||||
|
VpNavBar1.BackgroundImage.LoadFromFile(EdBkImage.FileName);
|
||||||
|
'.png':
|
||||||
|
begin
|
||||||
|
png := TPortableNetworkGraphic.Create;
|
||||||
|
try
|
||||||
|
png.LoadFromFile(EdBkImage.FileName);
|
||||||
|
VpNavBar1.BackgroundImage.Assign(png);
|
||||||
|
finally
|
||||||
|
png.Free;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
'.jpg', '.jpeg':
|
||||||
|
begin
|
||||||
|
jpg := TJpegImage.Create;
|
||||||
|
try
|
||||||
|
jpg.LoadFromFile(EdBkImage.FileName);
|
||||||
|
VpNavBar1.BackgroundImage.Assign(jpg);
|
||||||
|
finally
|
||||||
|
jpg.Free;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
{
|
||||||
|
pic := TPicture.Create;
|
||||||
|
try
|
||||||
|
pic.LoadFromFile(EdBkImage.FileName);
|
||||||
|
bmp := TBitmap.Create;
|
||||||
|
bmp.Assign(pic);
|
||||||
|
VpNavBar1.BackgroundImage.Assign(bmp);
|
||||||
|
finally
|
||||||
|
pic.Free;
|
||||||
|
end;
|
||||||
|
}
|
||||||
|
end;
|
||||||
|
|
||||||
procedure TForm1.FormCreate(Sender: TObject);
|
procedure TForm1.FormCreate(Sender: TObject);
|
||||||
begin
|
begin
|
||||||
RandSeed := 1;
|
RandSeed := 1;
|
||||||
IconsLink.Left := IconsLbl.Left + IconsLbl.Width;
|
IconsLink.Left := IconsLbl.Left + IconsLbl.Width;
|
||||||
RadioGroup1.ItemIndex := ord(VpNavBar1.DrawingStyle);
|
RgDrawingStyle.ItemIndex := ord(VpNavBar1.DrawingStyle);
|
||||||
|
BkColor.Selected := VpNavBar1.BackgroundColor;
|
||||||
|
case VpNavBar1.BackgroundMethod of
|
||||||
|
bmNone:
|
||||||
|
RbBkColor.Checked := true;
|
||||||
|
bmNormal:
|
||||||
|
begin
|
||||||
|
RbBkImage.Checked := true;
|
||||||
|
RbBkImageNormal.Checked := true;
|
||||||
|
end;
|
||||||
|
bmStretch:
|
||||||
|
begin
|
||||||
|
RbBkImage.Checked := true;
|
||||||
|
RbBkImageStretch.Checked := true;
|
||||||
|
end;
|
||||||
|
bmTile:
|
||||||
|
begin
|
||||||
|
RbBkImage.Checked := true;
|
||||||
|
RbBkImageTile.Checked := true;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
BtnLoadBkImageClick(nil);
|
||||||
|
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TForm1.IconsLinkClick(Sender: TObject);
|
procedure TForm1.IconsLinkClick(Sender: TObject);
|
||||||
@ -103,27 +192,47 @@ begin
|
|||||||
IconsLink.Font.style := IconsLink.Font.Style - [fsUnderline];
|
IconsLink.Font.style := IconsLink.Font.Style - [fsUnderline];
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TForm1.RadioGroup1Click(Sender: TObject);
|
procedure TForm1.RgDrawingStyleClick(Sender: TObject);
|
||||||
begin
|
begin
|
||||||
VpNavBar1.DrawingStyle := TVpFolderDrawingStyle(Radiogroup1.ItemIndex);
|
VpNavBar1.DrawingStyle := TVpFolderDrawingStyle(RgDrawingStyle.ItemIndex);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TForm1.RadioGroup2Click(Sender: TObject);
|
procedure TForm1.RgIconSizeClick(Sender: TObject);
|
||||||
var
|
var
|
||||||
folder: TVpNavFolder;
|
folder: TVpNavFolder;
|
||||||
begin
|
begin
|
||||||
|
RgIconSize.OnClick := nil;
|
||||||
folder := VpNavBar1.Folders[VpNavBar1.ActiveFolder];
|
folder := VpNavBar1.Folders[VpNavBar1.ActiveFolder];
|
||||||
folder.IconSize := TVpIconSize(RadioGroup1.ItemIndex);
|
folder.IconSize := TVpIconSize(RgDrawingStyle.ItemIndex);
|
||||||
|
RgIconSize.OnClick := @RgIconSizeClick;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TForm1.RbBkColorChange(Sender: TObject);
|
||||||
|
begin
|
||||||
|
if RbBkColor.Checked then
|
||||||
|
VpNavBar1.BackgroundMethod := bmNone
|
||||||
|
else
|
||||||
|
if RbBkImage.Checked then begin
|
||||||
|
if RbBkImageNormal.Checked then
|
||||||
|
VpNavBar1.BackgroundMethod := bmNormal
|
||||||
|
else
|
||||||
|
if RbBkImageStretch.Checked then
|
||||||
|
VpNavBar1.BackgroundMethod := bmStretch
|
||||||
|
else
|
||||||
|
if RbBkImageTile.Checked then
|
||||||
|
VpNavBar1.BackgroundMethod := bmTile;
|
||||||
|
end;;
|
||||||
|
VpNavBar1.Invalidate;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TForm1.VpNavBar1FolderChanged(Sender: TObject; Index: Integer);
|
procedure TForm1.VpNavBar1FolderChanged(Sender: TObject; Index: Integer);
|
||||||
var
|
var
|
||||||
folder: TVpNavFolder;
|
folder: TVpNavFolder;
|
||||||
begin
|
begin
|
||||||
RadioGroup2.OnClick := nil;
|
RgIconSize.OnClick := nil;
|
||||||
folder := VpNavBar1.Folders[Index];
|
folder := VpNavBar1.Folders[Index];
|
||||||
RadioGroup2.ItemIndex := ord(folder.IconSize);
|
RgIconSize.ItemIndex := ord(folder.IconSize);
|
||||||
RadioGroup2.OnClick := @RadioGroup2Click;
|
RgIconSize.OnClick := @RgIconSizeClick;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TForm1.VpNavBar1ItemClick(Sender: TObject; Button: TMouseButton;
|
procedure TForm1.VpNavBar1ItemClick(Sender: TObject; Button: TMouseButton;
|
||||||
|
@ -1106,19 +1106,23 @@ end;
|
|||||||
|
|
||||||
procedure TVpCustomNavBar.ItemChanged(FolderIndex, ItemIndex: Integer);
|
procedure TVpCustomNavBar.ItemChanged(FolderIndex, ItemIndex: Integer);
|
||||||
begin
|
begin
|
||||||
InvalidateItem(FolderIndex, ItemIndex);
|
Invalidate;
|
||||||
|
// InvalidateItem(FolderIndex, ItemIndex);
|
||||||
|
(*
|
||||||
if not (csDestroying in ComponentState) then
|
if not (csDestroying in ComponentState) then
|
||||||
RecreateWnd{$IFDEF LCL}(self){$ENDIF};
|
RecreateWnd{$IFDEF LCL}(self){$ENDIF};
|
||||||
|
*)
|
||||||
end;
|
end;
|
||||||
{=====}
|
{=====}
|
||||||
|
|
||||||
procedure TVpCustomNavBar.FolderChanged(FolderIndex: Integer);
|
procedure TVpCustomNavBar.FolderChanged(FolderIndex: Integer);
|
||||||
begin
|
begin
|
||||||
Unused(FolderIndex);
|
Unused(FolderIndex);
|
||||||
|
|
||||||
Invalidate;
|
Invalidate;
|
||||||
|
(*
|
||||||
if not (csDestroying in ComponentState) then
|
if not (csDestroying in ComponentState) then
|
||||||
RecreateWnd{$IFDEF LCL}(self){$ENDIF};
|
RecreateWnd{$IFDEF LCL}(self){$ENDIF};
|
||||||
|
*)
|
||||||
end;
|
end;
|
||||||
{=====}
|
{=====}
|
||||||
|
|
||||||
|
@ -220,7 +220,14 @@ begin
|
|||||||
begin
|
begin
|
||||||
case FBackgroundMethod of
|
case FBackgroundMethod of
|
||||||
bmNormal:
|
bmNormal:
|
||||||
Canvas.Draw(R.Left, R.Top, FBackgroundImage);
|
begin
|
||||||
|
if (FBackgroundImage.Width < WidthOf(R)) or (FBackgroundImage.Height < HeightOf(R))
|
||||||
|
then begin
|
||||||
|
Canvas.Brush.Color := FBackgroundColor;
|
||||||
|
Canvas.FillRect(R.Left, R.Top, R.Right, R.Bottom);
|
||||||
|
end;
|
||||||
|
Canvas.Draw(R.Left, R.Top, FBackgroundImage);
|
||||||
|
end;
|
||||||
bmStretch:
|
bmStretch:
|
||||||
Canvas.StretchDraw(R, FBackgroundImage);
|
Canvas.StretchDraw(R, FBackgroundImage);
|
||||||
bmTile:
|
bmTile:
|
||||||
@ -434,10 +441,12 @@ begin
|
|||||||
Canvas.LineTo(R.Right+1, R.Bottom+1);
|
Canvas.LineTo(R.Right+1, R.Bottom+1);
|
||||||
Canvas.LineTo(R.Left-1, R.Bottom+1);
|
Canvas.LineTo(R.Left-1, R.Bottom+1);
|
||||||
Canvas.Brush.Color := FBackgroundColor;
|
Canvas.Brush.Color := FBackgroundColor;
|
||||||
|
(*
|
||||||
end else begin
|
end else begin
|
||||||
Canvas.Pen.Color := FBackgroundColor;
|
Canvas.Pen.Color := FBackgroundColor;
|
||||||
Canvas.Brush.Color := FBackgroundColor;
|
Canvas.Brush.Color := FBackgroundColor;
|
||||||
Canvas.Rectangle(R.Left - 1, R.Top - 1, R.Right + 1, R.Bottom + 1);
|
Canvas.Rectangle(R.Left - 1, R.Top - 1, R.Right + 1, R.Bottom + 1);
|
||||||
|
*)
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
@ -572,10 +581,9 @@ begin
|
|||||||
if Assigned(FImages) then begin
|
if Assigned(FImages) then begin
|
||||||
bmp := TBitmap.Create;
|
bmp := TBitmap.Create;
|
||||||
try
|
try
|
||||||
bmp.Width := FImages.Width;
|
FImages.GetBitmap(AItem.IconIndex, bmp);
|
||||||
bmp.Height := FImages.Height;
|
bmp.Transparent := true;
|
||||||
FImages.Draw(bmp.Canvas, 0, 0, AItem.IconIndex);
|
Canvas.StretchDraw(AItem.IconRect, bmp);
|
||||||
Canvas.BrushCopy(AItem.IconRect, bmp, Rect(0, 0, bmp.Width, bmp.Height), bmp.Canvas.Pixels[0, bmp.Height-1]);
|
|
||||||
finally
|
finally
|
||||||
bmp.Free;
|
bmp.Free;
|
||||||
end;
|
end;
|
||||||
|
Loading…
Reference in New Issue
Block a user