Поискал по форуму и интернету, но нигде не нашёл решения моей проблемы.
Поместил на форму ImagesList, в него добавил три изображения.
Создал на форме три панели TPanel. При наведении мыши на каждой должно отображаться изображение из ImagesList'а, примерно так:
- Код: Выделить всё
procedure TNoteForm.PanelMouseMoving(Sender: TObject);
var
ImageIndex: integer;
ACanvas: TCanvas;
begin
if (Sender is TPanel) then
begin
ACanvas := (Sender as TPanel).Canvas;
case (Sender as TPanel).Name of
'AddBtn':
ImageIndex := 0;
'PinBtn':
ImageIndex := 1;
'DelBtn':
ImageIndex := 2;
end;
with (Sender as TPanel) do
if (BevelOuter = bvRaised) then
BevelOuter := bvNone
else
begin
BevelOuter := bvRaised;
Pics.Draw(ACanvas, 0, 0, ImageIndex, gdeNormal);
end;
end;
end;
Однако, на самом деле получается так, что панелька "приподымается" (за счёт изменения свойства BevelOuter), а вот отрисовки изображения не происходит.
Как правильно вывести изображение из TImageList на нужный Canvas в Windows?