Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    [delphi]Inserire una croce con il clic del mouse

    il tutto funziona, ma quando clicco con il mouse, la croce si posiziona ad una distanza di circa un cm dal mouse, come faccio per
    disegnarla vicino al mause?


    procedure TForm1.Image1MouseDown(Sender: TObject; Button: TMouseButton;
    Shift: TShiftState; X, Y: Integer);

    begin
    if ssLeft in Shift then begin
    Canvas.pen.Color:= clRed ;
    Canvas.pen.Style:=psSolid;
    Canvas.MoveTo(x-3,y);
    Canvas.LineTo(x+3,y);
    Canvas.MoveTo(x,y-3);
    Canvas.LineTo(x,y+3);
    end;


    grazie mille
    Monique

  2. #2

    Dipende da...

    Dipende semplicemente dal fatto che utilizzi il metodo Image1_MouseDown anzichè Form1_MouseDown e poi disegni sul canvas del Form1.
    Quindi, tu clicki su Image1 e alle coordinate corrispondenti disegni la corce, con il particolare che le coordinate fanno poi riferimento al form e non più al controllo Image che ti restituisce tali valori. In questo modo se Image1 non si trova esattamente all'inizio del form (top=0 e left=0) vedrai le croci spostate.

    Le soluzioni sono 2:
    -Utilizzi solo il form:
    codice:
    procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    begin
    if ssLeft in Shift then begin
    Canvas.pen.Color:= clRed ;
    Canvas.pen.Style:=psSolid;
    Canvas.MoveTo(x-3,y);
    Canvas.LineTo(x+3,y);
    Canvas.MoveTo(x,y-3);
    Canvas.LineTo(x,y+3);
    
    end;
    end;
    -Utilizzi solo image:
    codice:
     
    procedure TForm1.Image1MouseDown(Sender: TObject; Button: TMouseButton;
    Shift: TShiftState; X, Y: Integer);
    
    begin
    if ssLeft in Shift then begin
    with Image1 do begin
    Canvas.pen.Color:= clRed ;
    Canvas.pen.Style:=psSolid;
    Canvas.MoveTo(x-3,y);
    Canvas.LineTo(x+3,y);
    Canvas.MoveTo(x,y-3);
    Canvas.LineTo(x,y+3);
    end;
    end;
    end;

    Spero sia abbastanza chiaro, fammi sapere...
    Ciao!!
    lupusinfabula

    Programmatore VB, ASP, Delphi.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.