Pagina 2 di 2 primaprima 1 2
Visualizzazione dei risultati da 11 a 14 su 14
  1. #11
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,482
    Originariamente inviato da spinter
    mmm non capisco
    potresti farmi un esempio perfavore?
    Non ho molto tempo di scrivere codice, quindi cerco di essere più chiaro dal punto di vista esplicativo.

    Tu hai un controllo che deve ridisegnare se stesso ogni volta che Windows "intima" un'operazione di refresh, e questo controllo visualizza elementi grafici tracciati precedentemente con il mouse.

    Immagino che tu stia già intercettando gli eventi relativi al mouse per poter effettuare i dovuti tracciamenti sullo schermo, giusto?

    Ciò che devi fare innanzitutto è evitare di tracciare direttamente sul controllo grafico, poiché la gestione dell'aggiornamento visuale del controllo sovrascriverebbe ciò che tu hai disegnato.

    Hai quindi due opportunità.

    Quando intercetti gli eventi del mouse, puoi memorizzare le azioni dell'utente in una struttura creata a tuo piacimenti che sia congeniale per immagazzinare i clic, le linee e tutto quanto deve essere disegnato; le azioni dell'utente sul controllo, quindi, popolano questi dati che vai a creare e che utilizzerai nel metodo di refresh per tracciare sul controllo le forme geometriche o gli elementi grafici relativi.

    In alternativa, puoi invece tracciare direttamente gli elementi grafici che corrispondono alle azioni dell'utente, ma non sul controllo grafico, bensì in un buffer separato, un'immagine bitmap o comunque una rappresentazione grafica separata del controllo stesso; il metodo di refresh, in questo caso, si limiterà semplicemente a riportare questa immagine, modificata inserendo i disegni dell'utente tracciati a seguito delle azioni con il mouse, nell'area client del controllo.

    Ciao!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  2. #12
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    172
    Ok forse ho capito adesso provo!!

    Grazie!!!

  3. #13
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    172
    ok dopo tanto ci sono arrivato grazie!!
    Dim moPen As pen
    Dim xx As Integer
    Dim yy As Integer
    xx = e.X
    yy = e.Y
    Dim bm As Bitmap
    Dim gr As Graphics


    bm = New Bitmap(PictureBox1.Image)
    gr = Graphics.FromImage(bm)
    moPen = New Pen(Color.Blue, 11)
    gr.DrawLine(moPen, mlClickX, mlClickY, xx, yy)
    PictureBox1.Image = bm

    bm.Save("C:\prova.bmp", Imaging.ImageFormat.Bmp) 'se voglio salvarla

    Ho pero' un problemino

    Io voglio che il colore della penna sia selezionato da una combobox come posso fare:
    Ho provato con una variabile di tipo stringa ma non mi funziona.

    moPen = New Pen(Color.Blue, 11)

    Grazie!!

  4. #14
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    172
    Che salame che sono!!!

    Select Case ComboBoxcolore.SelectedIndex
    Case 0
    pen = New Pen(Color.Blue, pen0)
    Case 1
    pen = New Pen(Color.Violet, pen0)
    End Select

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 © 2026 vBulletin Solutions, Inc. All rights reserved.