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

    [Delphi]disegnare Rettangolo,linea,ellisse....con paintbox?

    Salve, sto cercando di capire ma non riesco da farmelo uscire...praticamente dovrei usare un paintbox per disegnare 1 rettangolo, 1 linea, 1 quadrato, 1 cerchio/ellisse
    e dovrebbe avvenire nel seguente modo: clicco su un punto nella paintbox (punto di inizio) e poi su un altro punto (punto di arrivo/fine) e tra questi 2 punti dovrebbe appunto uscirmi la figura...
    se non ho capito male dovrei usare la proprietà canvas ma non riesco a farmi uscire niente inoltre mi chiede delle coordinate x,y che pero' non so da dove andarle a prendere...
    perdonate la mia ignoranza e vi prego di aiutarmi, grazie.

  2. #2
    A comunque se si puo' fare anche in un altro modo (anche usando un altro oggetto) va benissimo lo stesso =)

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2005
    Messaggi
    64
    Salve,
    non so se ho capito bene la tua domanda, la soluzione dovrebbe essere questa:

    unit Unit1;

    interface

    uses
    Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
    Dialogs, ExtCtrls, StdCtrls;

    type
    TForm1 = class(TForm)
    Button1: TButton;
    Edit1: TEdit;
    procedure FormMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
    procedure FormMouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
    private
    { Private declarations }
    public
    { Public declarations }
    end;

    var
    Form1: TForm1;
    StartX,StartY :integer; (* variabili globali *)


    implementation

    {$R *.dfm}



    procedure TForm1.FormMouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
    begin
    Form1.Canvas.Rectangle(StartX, StartY, X, Y);

    (* disegna il rettangolo quando si alza il Bt Sx del mouse*)
    end;

    procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
    var AX,AY:integer;
    begin
    StartX := X;
    StartY := Y;
    (*legge le coordinate del mouse quando si clicca con il Bt Sx del mouse *)
    end;

    end.

    Attenzione a mettere in Form1 Eventes On MouseDown la procedura FormMouseUp
    e in Form1 Eventes On MouseUp la procedura FormMouseUp.

    (innocentemente copiato dall'help di delphi 6)

    Buon lavoro

  4. #4
    Grazie sono riuscito a disegnare cio che volevo

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.