Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    [VB6] evento Validate e Menu_Click

    Buon giorno a tutti !

    Vorrei il Vostro parere su un problema in cui mi sono imbattuto, e per il quale nel Forum, su MSDN e in rete non ho trovato nulla di veramente conclusivo:

    ho una TextBox, su cui voglio eseguire un controllo dell'input, all'uscita dalla stessa.
    Nel form NON ho il classico CmdButton "OK", nel quale eseguire tutte le verifiche, quindi dovrei utilizzare una routine di evento della TextBox, tipicamente LostFocus.

    Questo evento pero' NON viene generato nel caso l'utente clicchi su una voce di menu (e, per la verita', nemmeno su Close Form).

    A questo punto leggo su "I trucchi di VB6" di Francesco Balena:
    "...un click su un menu non scatena alcun evento LostFocus, in nessuna versione di VB. In VB6, tuttavia, questa azione scatena un evento Validate, e pertanto esiste l'opportunita' di eseguire del codice quando il focus abbandona il controllo."

    Ho provato quindi con l'evento Validate, ma... NESSUN evento Validate viene generato al click su un menu o al Close Form !

    La domanda e': sbaglio qualcosa io, dimentico qualche impostazione (il CausesValidation su tutti i controlli e' True di default), o e' proprio il comportamento previsto dal VB6 ??

    Mi sembra strano che il "mitico" F.Balena si sbagli proprio in un tip specificatamente scritto sull'argomento, e che la Microsoft abbia introdotto dopo VB4 un nuovo evento che... si rivela un duplicato di LostFocus (a parte l'argomento Cancel in piu') !

    Grazie anticipatamente a chi vorra' intervenire in merito... !
    IceCube_HT (VB6 fan Club)

  2. #2
    Utente di HTML.it
    Registrato dal
    Jun 2007
    Messaggi
    74
    Se è una questione di formattazione del testo all'inserimento puoi usare il keyUp o anche Change. Io per esempio ho inserito in un Browser web la funzione

    Private Sub Indirizzo1_KeyPress(KeyAscii As Integer)
    On Error Resume Next
    If (LCase(Left(Indirizzo1.Text, 7)) <> "http://") Then
    Indirizzo1.Text = "http://" & Indirizzo1.Text
    Indirizzo1.SelStart = Len(Indirizzo1.Text)
    End If
    If (KeyAscii = 13) Then WebBrowser1.Navigate Indirizzo1.Text
    End Sub


    Che aggiunge "http://" all'inizio della stringa dell'iindirizzo .

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.