![]() |
|
|
#1
|
|||
|
|||
|
Вопрос следущий,как по клику на картинку в shelllistview показывать её эскиз в Paintbox ?
Последний раз редактировалось Amzi, 18.10.2012 в 13:37. |
|
#2
|
||||
|
||||
|
-создать обработчик OnClick
-убедиться что кликнули на картинке (по расширению) -загрузить картинку в какой-нибудь TхGraphic -нарисовать на PaintBox |
|
#3
|
|||
|
|||
|
Убеждаться, что кликнули по картинке не нужно, так как есть фильтр который в shelllistview отображает только картинки.
а вот как передать картинку из shelllistview в PaintBox, можно немного поподробнее? |
|
#4
|
||||
|
||||
|
Цитата:
Тебе нужно получить путь и имя файла у shelllistview, потом загрузить эту картинку например в TBitmap и с него копировать на канву PaintBox'а. |
|
#5
|
||||
|
||||
|
Код:
type
TForm1 = class(TForm)
PaintBox1: TPaintBox;
Image1: TImage;
procedure FormCreate(Sender: TObject);
procedure PaintBox1Paint(Sender: TObject);
...
procedure TForm1.FormCreate(Sender: TObject);
begin
Image1.Picture.LoadFromFile('clouds.bmp');
PaintBox1.OnPaint:=PaintBox1Paint;
end;
procedure TForm1.PaintBox1Paint(Sender: TObject);
begin
PaintBox1.Canvas.StretchDraw(PaintBox1.ClientRect, Image1.Picture.Graphic);
end; |
| Этот пользователь сказал Спасибо NumLock за это полезное сообщение: | ||
Amzi (18.10.2012)
| ||
|
#6
|
|||
|
|||
|
Цитата:
Код:
procedure TForm2.sShellListView1Click(Sender: TObject);
var
path: string;
begin
for i:=0 to sShellListView1.SelCount-1 do
begin
path := sShellListView1.Folders[sShellListView1.GetNextItem(sShellListView1.Selected,
sdAll,[isSelected]).Index+i-1].PathName;
end;
end; |
|
#7
|
||||
|
||||
|
Код:
Image1.Picture.LoadFromFile(ShellListView1.Folders[ShellListView1.ItemIndex].PathName); PaintBox1.Invalidate; |
| Этот пользователь сказал Спасибо NumLock за это полезное сообщение: | ||
Amzi (18.10.2012)
| ||
|
#8
|
|||
|
|||
|
Спасибо большое, все работает!
![]() |