Canvas画面にカーソル位置に連動した位置に文字列を表示したいと思います。
ラインならXorで描画すると背景に関係なく可能なのですが、
文字列を背景を壊さずカーソルに連動して表示するいい方法がありませんか。
例としては、指標などのチャート表示でカーソルに伴って、
Y軸にその値を表示するなどです。
よろしくお願いします。
TImageの上に座標を表示ばなんかしとうもんやけん...
var
LabelXY: TLabel;
procedure TForm1.Image1MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
var
P: TPoint;
begin
if not Assigned(LabelXY) then exit;
P := Form1.ScreenToClient(Image1.ClientToScreen(Point(X,Y)));
LabelXY.Left := P.X + 10;
LabelXY.Top := P.Y;
LabelXY.Caption := Format('%d:%d',[X,Y]);
end;
procedure TForm1.Image1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
LabelXY := TLabel.Create(Self);
LabelXY.Parent := Self;
LabelXY.Transparent := True;
end;
procedure TForm1.Image1MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
LabelXY.Free;
LabelXY := nil;
end;
Transparentがミソのようですね。
気が付きませんでした。
試してみて、何とかなりそうです。
ありがとうございます。
ツイート | ![]() |