ciao ciao...ho il comando annulla nel menù per tornare indietro
e ho scritto undo
funziona...ma quando creo l'exe mi dice Sub o Function non definita
come posso fare?
ciao ciao...ho il comando annulla nel menù per tornare indietro
e ho scritto undo
funziona...ma quando creo l'exe mi dice Sub o Function non definita
come posso fare?
il comando Undo deve essere definito. Intanto potresti indicare cosa deve fare questo 'Undo'. Cerca di spiegarti meglio.
L'errore te lo dà solo in compilazione perché in fase di esecuzione il run-time di VB (se non usi l'Option Explicit) non verifica la presenza della definizione di variabili o funzioni finché l'esecuzione del programma non passa in quel determinato punto.
ciao![]()
lupusinfabula
Programmatore VB, ASP, Delphi.
devo fare l'unto in una text box
Da codice devi gestirti la memorizzazione delle operazioni di cambio del contenuto della textbox compiute dall'uitente del tuo programma.
Potresti, ad ogni pressione del pulsante spazio o invio memorizzarti in un array di stringhe l'ultimo testo presente nella textbox e alla pressione del pulsante undo ripristinare l'ultima versione, la penultima e così via....
Spero di essermi spiegato bene.
ciao![]()
lupusinfabula
Programmatore VB, ASP, Delphi.
e se voglio fare il semplice undo...senza memorizzare tutto?
devo solo non far venire l'errore di compilazione..dove devo definire il comando undo?
cosa intendi per "un semplice undo"? se vuoi semplicemente cancellare il contenuto della textbox scrivi:
Se invece vuoi riscrivere il testo di default, ti occorre settare una variabile "globale" per la formcodice:Sub nomeBottone_onclick nomeTextBox.text = "" End Sub
Secancodice:dim defaultText as String defaultText = "Testo di default" Sub Form_onload nomeTextBox.text = defaultText End Sub Sub nomeBottone_onclick nomeTextBox.text = defaultText End Sub
Ooops, scusa! Mi sono accorto che ti ho postato il codice per un pulsante anzichè per una voce di menu... in ogni caso la logica ed il codice sono gli stessi
Secan
no...io intendo fare l'undo...
non impostare il testo a nullo o a un testo predefinito
allora prova così:
In questo modo dovresti registrare all'nterno della variable "globale" tmp_text il valore contenuto nella textbox nel momento in cui l'utente la seleziona; così facendo potrai riassegnare quel valore alla textbox stessa quando si seleziona la voce "undo" del menu.codice:Dim tmp_text As String Sub nomeTextBox_onGotFocus tmp_text = nomeTextBox.text End Sub
Secan
P.S. non sono sicuro che l'evento sia "onGotFocus" ed in questo momento non ho la possibilità di controllare, in ogni caso esiste un evento con un nome simile (se non proprio quello che ti ho segnalato) per catturare l'evento di "selezione" della textbox
Secan