ファイル名のリストボックスにある項目の上にマウスを置くと、画像のプレビュー(ヒントとほぼ同じ)を表示するにはどうすればよいですか?フォームを表示してイメージをロードしようとしましたが、プレビューフォームに表示されるときにリストボックスのフォーカスが失われます。つまり、マウスを動かすと、リストの次のアイテムに移動するとプレビューイメージは変わりません。画像をリストボックスでプレビューする
ありがとう、ピーテル。
私は、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;