PDA

View Full Version : [vb6] problema con MDIForm e KeyDown


disumano
02-05-2004, 20:40
sto scrivendo un'applicazione MDI con alcuni form child e ho bisogno di associare delle operazione alla pressione di alcuni tasti direttamente da tastiera.

la soluzione dovrebbe essere il metodo KeyDown del form attivo, ma noto che in un'applicazione MDI il metodo non funge! :cry:

:mc: ho provato ad usarlo in un'applicazione a singolo form e mi funziona benissimo, quindi il problema è veramente l'MDI?
in più il form MDI non ha il metodo KeyDOwn...

Come faccio?????

matpez
03-05-2004, 02:30
MDI form nn ha il metodo infatti, devi mettere il metodo nella form attiva controllando di avere attivato nelle proprietà della form la voce KeyPreview :)

Se ci sono problemi chiedi pure :p

disumano
03-05-2004, 02:58
benissimo, così funziona:)
adesso ho da risolvere questo: mi serve poter utilizzare le frecce direzionali per spostarmi tra i record di una tabella.
sul form ho delle textbox con i campi del record e dei pulsanti con i comandi nuovo, cancella etc....
siccome l'evento gotfocus delle textbox passa il focus ad un pulsante (una sorta di enabled=false artigianale ;) ), mi trovo nella situazione che il focus è sempre su uno dei pulsanti e se premo una delle frecce, non faccio altro che spostami tra i pulsanti.
c'è un modo per fare si che tramite l'evento keydown invece che spostarmi tra i pulsanti le frecce facciano quello che dico io?

matpez
03-05-2004, 12:28
Originariamente inviato da disumano
siccome l'evento gotfocus delle textbox passa il focus ad un pulsante (una sorta di enabled=false artigianale

Scusa, fammi capire bene questo, ma perchè quando entri in una texbox dovresti perdere il focus ad essa e metterla su un comando?

Forse ho capito perchè fai così, però magari se mi dici la motivazione troviamo altri metodi :)

disumano
03-05-2004, 18:01
perché non voglio che l'utente possa scriverci dentro e modificarne il contenuto.
non uso la proprietà enabled=false perché preferisco che il testo rimanga del suo colore originario.
il focus sulle textbox è permesso solo quando l'utente preme il pulsante "modifica" e quindi è conscio di quello che fa.

secondo te se imposto il metodo keydown dei singoli pulsanti risolvo (te lo chiedo xché non ho modo di provare fino a stasera)?

matpez
03-05-2004, 19:29
Originariamente inviato da disumano
perché non voglio che l'utente possa scriverci dentro e modificarne il contenuto.
non uso la proprietà enabled=false perché preferisco che il testo rimanga del suo colore originario.


Usa la proprietà Locked=true allora, così sei sicuro che il testo nn cambia colore e non ci puoi scrivere dentro!