Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
App. WinForms / WPF .NET
Box di inserimento testo
venerdì 22 ottobre 2004 - 00.17
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
Peppe
Profilo
| Newbie
24
messaggi | Data Invio:
ven 22 ott 2004 - 00:17
Ciao a tutti! Ho un problema durante la realizzazione di una form.. Inizio subito con l'esempio. Avete presente in Paint quando decidiamo di inserire un testo? Prima dobbiamo, tramite il mouse, crere un box (quello che viene visualizzato tratteggiato) dove poi andremo ad inserire il testo. Bene, quello che interessa a me e' proprio questo! Sapete dirmi come devo fare per realizzare questo box? Io vorrei fare proprio cosi' come fa Paint , che quando tengo premuto il muose si visualizza tratteggiato e mentre lo allargo viene visualizzato in tempo reale la variazione di dimesione.. Spero di essermi fatto capire con quest'esempio! Grazie a tutti!
Andy
Profilo
| Senior Member
487
messaggi | Data Invio:
ven 22 ott 2004 - 09:20
Ciao Peppe..non so se esiste un oggetto già preparato che ti permetta di fare il rettangolo di cui parlavi, per farlo "a mano" devi crearti 2 Penne, una nera con stile tratteggiato e una del colore dello sfondo.
In pratica il disegno del rettagnolo si sviluppa in 3 eventi:
1) Evento MouseClick, disegni un rettangolo con la 1 pena, dando come coordinate finali le stesse di quelle iniziali; dopodichè ti salvi le 4 coordinate.
2) Evento MouseMove, dove "cancelli" il rettangolo precedente, ridisegnandolo con le vecchie coordinate, ma utilizzando la penna2 con il colore dello sfondo.
Dopodichè disegni un nuovo rettangolo. partendo dalle coordinate del Click fino alle nuove coordinate acquisite dal Mousemove.
3) Evento MouseUp, dove termini il tuo disegno.
Sero di esserti stato d'aiuto..
Ciao.
Peppe
Profilo
| Newbie
24
messaggi | Data Invio:
ven 22 ott 2004 - 10:36
Come impostazione e' perfetta! Solo che ho un problema..se ho uno sfondo impostato nella form come faccio a settare il colore della penna "invisibile"? Perche' se io carico prima uno sfonfo (metti una foto, con tutta la varieta' di colori che ci stanno al suo interno) come faccio a realizzare la penna di supporto? Secondo te mi conviene non realizzare le penna di supporto ma usare direttamente Invalidate() per cancellare il diasegno fatto precedentemente?
Andy
Profilo
| Senior Member
487
messaggi | Data Invio:
ven 22 ott 2004 - 11:31
Effettivamente se il colore dello sfondo non è uniforme si crea il problema del refresh..se fai invalidate() di tutta l'immagine, ad ogni movimento del mouse avresti un effetto di sfarfallamento non bello alla vista..senza contare che se l'immagine è pesante ad ogni movimento perderesti troppo tempo.
Vedi se si può fare l'invalidate solo dell'area che hai disegnato l'ultima volta, agari che so se hai un area 30, 30, 50, 40 fai un refresh di un'area un pixel + grande (29, 29, 51, 41) cosi lo stesso effetto è più veloce e meno pesante alla vista.
..fammi sapere...
Ciao
Peppe
Profilo
| Newbie
24
messaggi | Data Invio:
ven 22 ott 2004 - 11:49
Si, si puo' fare! Ho appena provato e funziona tutto perfettamente! Quando mi hai risposto l'ultima volta io avevo appena appena finito di sincronizzare gli eventi mousedown, mousemove e mouseup..girava tutto ma mi ero accorto coi miei occhi della pesantezza di fare il refresh dell'intera scena al movimento del mouse..poi mi hai dato l'idea giusta..ho visto nell'help e si puo' fare l'invalidate di un rettangolo..e cmq basta direttamente quello li', senza spazio aggiuntivo! Grazie davvero, sei stato di grandissimo aiuto! Fossero tutti come te...
Ciao e grazie ancora,
Peppe
Andy
Profilo
| Senior Member
487
messaggi | Data Invio:
ven 22 ott 2004 - 12:58
...di nulla, mi fa piacere che hai risolto..
A presto.
Torna su
Stanze Forum
Elenco Threads
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?
Dopo esserti registrato potrai chiedere
aiuto sul nostro
Forum
oppure aiutare gli altri
Consulta le
Stanze
disponibili.
Registrati ora !