Как я могу отобразить предварительный просмотр (почти как подсказка) изображения, когда наведу указатель мыши на элемент в списке имен файлов? Я попытался показать форму и загрузить изображение, но когда отображается форма предварительного просмотра, я теряю фокус для списка, что означает, что при перемещении мыши изображение предварительного просмотра не изменяется при переходе к следующему элементу в списке .
Спасибо, Питер.
Я, основываясь на ответе TOndrej, пытался реализовать собственное THintWindow, но Canvas.StretchDraw не рисует растровое изображение, отправленное в качестве параметра. Есть идеи почему бы и нет? Текст отображается нормально.
procedure TFormMain.DisplayPreview(HintImage: TBitmap);
var
CustomHint: THintWindow;
Rect: TRect;
MousePoint: TPoint;
begin
*{
Based on Source: http://www.chami.com/tips/delphi/112996D.html
}*
GetCursorPos(MousePoint);
with Rect do
begin
// set the position and size of the hint window
Left := MousePoint.X;
Top := MousePoint.Y;
Right := Left + 50;
Bottom := Top + 25;
end;
CustomHint := THintWindow.Create(Self);
try
with CustomHint do
begin
// set the background color
//Color := clNone;
**Canvas.StretchDraw(Rect, HintImage);**
ActivateHint(Rect, 'Hint');
Application.ProcessMessages;
//
// perform your tasks here
// before closing the hint window
//
Sleep(500);
ReleaseHandle;
end;
finally
if Assigned(CustomHint) then
CustomHint.Free;
end;
end;