Sulla faccia di esso si dovrebbe essere in grado di controllare questo utilizzando il messaggio EM_LIMITTEXT
:
Il messaggio EM_LIMITTEXT limita solo il testo l'utente può inserire. Non ha effetto su alcun testo già presente nel controllo di modifica quando il messaggio viene inviato, né influenza la lunghezza del testo copiato nel controllo di modifica dal messaggio WM_SETTEXT. Se un'applicazione utilizza il messaggio WM_SETTEXT per inserire più testo in un controllo di modifica rispetto a quanto specificato nel messaggio EM_LIMITTEXT, l'utente può modificare l'intero contenuto del controllo di modifica.
Prima di chiamare EM_LIMITTEXT, il limite predefinito per la quantità di testo che un utente può immettere in un controllo di modifica è 32.767 caratteri.
E questo messaggio è esposto dalla proprietà MaxLength
di TEdit
.
Tuttavia, l'impostazione di MaxLength
su un valore elevato non sembra essere di aiuto. Non riesco a persuadere un controllo di modifica a riga singola per visualizzare un numero elevato di caratteri.
Sospetto che l'unica opzione valida per voi sia l'utilizzo di un controllo di modifica su più righe, ovvero TMemo
.
Sono sicuro che MS sosterrebbe che i controlli di modifica a riga singola non sono progettati per contenere migliaia di caratteri e quindi non hanno alcuna motivazione per rendere il controllo più capace.
FWIW, con la versione Unicode del controllo, il limite sembra essere 37444 anziché 37440!
fonte
2013-07-04 19:45:02
Se si utilizza un sistema operativo simile, sarà possibile visualizzare più di 37440 caratteri se si utilizza '.' f.i. invece di 'X'. Il che implica che i limiti specificati nella documentazione di MS non significano nulla, dal momento che invece si raggiungono limiti arbitrari imposti dai dettagli di implementazione. –
Sì, in questo caso sarà limite in 43679 punti – EProgrammerNotFound
E quindi se si utilizza il. , non devi limitarti alle versioni W delle chiamate api se usi quella stringa in una? – Glenn1234