Newsgroup: it.comp.lang.visual-basic
Titolo: Picturebox

Ho dei disegni in una picturebox.
Devo fare in modo che quando il puntatore e' sopra la picturebox si
porti dietro un rettangolo vuoto {line()(),,B} senza cancellare i
disegni sotto.
Come posso fare?
Esiste un' evento sempre attivo quando il puntatore e' sulla
picturebox?
grazie
Omar      
m.lau...@netsis.it
             UIN:22673388

picturebox?
Devi usare le Shapes e _MouseMove
Ciao.

picturebox?


se ho capito bene la tua domanda la risposta è questa:
devi disegnare un'icona  a forma di rettangolo con un programma grafico per
es. imagedit.exe. che crea ifile di tipo  *.ICO,
poi devi anadare nelle proprietà mouseicon della pictureBox e scegliere il
file appena creato con imagedit.exe




Devi usare le Shapes e _MouseMove
Ci avevo pensato ma mousemove si attiva solo quando muovo il mouse, se
tengo il puntatore fermo sulla picture box non si generano eventi.
Non posso usare le shapes perche' ho l'esigenza di disegnare una forma
usando il metodo line.
Omar      
m.lau...@netsis.it
             UIN:22673388

con il programma generatore di icone.
 
Non e' cosi' semplice perche' il rettangolo deve essere dinamicamente
modificato quindi devo usare delle line.
Omar      
m.lau...@netsis.it
             UIN:22673388

             UIN:22673388
Una volta fatti i disegni sulla picturebox, devi impostare la proprietà
autoredraw a false e nell'evento mousemove della picture :
picture1.cls
picture1.line (x,y)-(x+100,y+100),,B
In questo modo il tuo puntatore si porta dietro un quadrato quando è sopra
la picture. Se vuoi generare un evento quando il puntatore è fermo (non ne
comprendo il motivo), usa un timer.
La cosa va naturalmente gestita in modo da evitare l'inconveniente di
"seminare" il rettangolo sulla picture1 uscendone velocemente dalla sua area
(sarebbe più facile eseguire il controllo se il rettangolo fosse disegnato
manteneno premuto il tasto sx del mouse).
Sarebbe meglio comunque che spiegassi che tipo di operazione devi fare sui
disegni: se per esmpio devi ritagliare il disegno sottostante, allora sei
fuoristrada...
Ciao Marco

picture1.line (x,y)-(x+100,y+100),,B
Si cosi' cancello anche i disegni......
 
Omar      
m.lau...@netsis.it
             UIN:22673388

Si cosi' cancello anche i disegni......
Se i disegni son stati fatti con la proprietą autoredraw impostata a true
(cosa che non avevo detto) non viene cancellato nulla...
Ciao Marco

(cosa che non avevo detto) non viene cancellato nulla...
 
C'e' un problema:
Visto che devo disegnare un'area di 500X500 pixel punto per punto
devo farlo con autoredraw=false altrimenti il tempo necessario per
completare il disegno cresce enormenente.
E gia questo non me lo spiego.
Al termine del processo di stampa ho provato a impostar autoredraw=
true e poi di nuovo a false ma questo non salva il contenuto della
picturebox.
Quindi mi chiedo dovendo per forza di cose stampare la grafica con
autoredraw = false c'e' un modo per salvare in memoria l'immagine??
grazie X 1000
Omar      
m.lau...@netsis.it
             UIN:22673388


Comunque tutto questo non mi convince, se metto la picturebox in
autoredeaw=false questa mi si cancella se viene coperta da un'atra
finesta.
