カーソル移動に伴う文字表示をするには

解決


Yama  2007-04-25 20:03:36  No: 25911

Canvas画面にカーソル位置に連動した位置に文字列を表示したいと思います。
ラインならXorで描画すると背景に関係なく可能なのですが、
文字列を背景を壊さずカーソルに連動して表示するいい方法がありませんか。

例としては、指標などのチャート表示でカーソルに伴って、
Y軸にその値を表示するなどです。

よろしくお願いします。


あのて  2007-04-25 20:41:38  No: 25912

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;


Yama  2007-04-25 22:17:11  No: 25913

Transparentがミソのようですね。  
気が付きませんでした。
試してみて、何とかなりそうです。

ありがとうございます。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加