PDA

View Full Version : [visual c++] bloccare input testo edit box


lucas72
10-08-2004, 17:52
Ciao
Sto implementando un mio programmino sviluppato
con Visual c++ 6.
Questo programma non fa altro che contare le parole e i caratteri
inseriti (anche progressivamente) in un edit box.
Adesso vorrei aggiungere una funzione che avverta e/o non permetta
pių di inserire parole nell'edit una volta raggiunto un certo limite
(di parole e di caratteri) stabilito dall'utente.
La domanda č:
Come faccio in modo che l'edit box non riceva pių input di parole
raggiunto questo limite ( e magari che emetta anche ripetutamente un suono
se l'utente si ostina a battere caratteri sulla tastiera non accorgendosi
che l'edit oramai č "bloccato")?
grazie anticipatamente.

ri
10-08-2004, 23:09
1. potresti semplicemente attivare il limite di caratteri come opzione dell'input box, ma non avresti nč messaggi nč riscontri audio del raggiungimento del limite
2. gestisci l'evento ON_CHANGE (o ON_TEXT_CHANGE, insomma, una roba del genere... vado a memoria :p ) verificando a manina la lunghezza della stringa etc etc etc...

lucas72
11-08-2004, 17:48
provo un po' a spippelare e ci risentiamo Ok?
grazie

ma il limite caratteri come opzione lo trovo tra le proprietā dell'edit box?

boh vediamo
ciao

ri
11-08-2004, 18:58
associ l'edit box ad un oggetto CString, all'ingresso dell'evento ON_CHANGE (o quel che č) dai un UpdateData() (passandogli true o false, guarda la guida...) e avrai il contenuto dell'edit box nella stringa

ok non si capisce nulla :p
vabeh se provi č facile, giuro :D

lucas72
12-08-2004, 17:38
ho usato una cosa del genere:

if (atoi(m_strCaratteri)>=atoi(m_strMaxCaratteri))
m_txtTesto.EnableWindow(FALSE);

l'edit box si disabilita.
la soluzione funziona ma non mi soddisfa del tutto.
provo un po' ad applicare la tua.
spippello un po' e vediamo cosa succede
(la guida in linea non č installata)
ciao e ancora grazie

ri
12-08-2004, 19:30
giuro, proprio non capisco come diavolo debba funzionare quel controllo...

per ottenere la lunghezza di una stringa in un oggetto CString c'č il metodo GetLength()

lucas72
13-08-2004, 18:39
infatti non centra proprio niente con l'edit in questione
controlla l'input di un altro edit box e poi a seconda dei casi
disabilita o meno l'edit nel quale si inserisce la frase.
ti assicuro che funziona benissimo
..ma io non volevo ricorrere a questo rimedio estremo
ciao