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

    [VB6] annullare il focus di un form alla sua apertura

    Salve,
    qualcuno sa come si potrebbe raggirare questo problema:

    Come posso far si che, un form si apra senza che venga selezionato??
    Ovvero.. se sto già utilizzando un form dell'applicazione e ne viene aperto un altro, il nuovo form che si apre non deve prendere il focus dell'applicazione.

    Come potrei fare??

    Aspetto risposte, grazie.
    :sexpulp: V3g4 :sexpulp:

  2. #2
    Utente bannato
    Registrato dal
    Jun 2003
    Messaggi
    3,657
    Form nuovo che viene aperto
    codice:
    Private Sun form1_load()
    formprincipale.SetForuc
    end sub

  3. #3
    ehm.. no
    quel caso funziona se i form sono 2
    facendo un ritorno di focus al primo non mi si seleziona il secondo..

    però io ho molti + form.

    ci sarà un modo per annullare il focus del form che si apre??

    :sexpulp: V3g4 :sexpulp:

  4. #4
    Utente bannato
    Registrato dal
    Jun 2003
    Messaggi
    3,657
    allora non ho capito la tua descrizione

  5. #5
    allora in pratica...
    il mio programma è un po particolare.
    è un programma per la comunicazione istantanea.
    mentre tu stai digitando un messaggio privato e un utente si connette si apre un piccolo form in basso a destra dello schermo che avvisa che l'utente è online.
    questo form però si prende il focus, e deseleziona la finestra del messaggio privato

    quindi mi servirebbe qualcosa che annulli il focus a quel form di avviso
    :sexpulp: V3g4 :sexpulp:

  6. #6
    Utente di HTML.it
    Registrato dal
    Oct 2002
    Messaggi
    271
    Se imposti la proprieta WindowState a 1 (Minimized)? :adhone:
    Signori si nasce! E io modestamente, lo nacqui!!!
    Totò

  7. #7
    L'idea del SetFocus non è male, basta solo affinare il tutto.
    Da quello che ho capito ci sono questi form:
    Form1: il form principale che gestisce tutto
    Form2: il prototipo di form per chattare
    Form3: il prototipo di form di avviso

    In un modulo scrivo la seguente dichiarazione:
    codice:
    Public lastform As Form
    In questa variabile imposterò il riferimento all'ultimo form utilizzato.

    In Form1 da qualche parte ci sarà un blocco di codice che apre le nuove finestre di chat:
    codice:
    Dim f As New Form2
    
    f.Show
    e un blocco di codice che apre le finestre di avviso:
    codice:
    Dim f As New Form3
    
    f.Show
    
    If (Not lastform Is Nothing) Then lastform.SetFocus
    L'ultima riga ridà il focus all'ultima finestra di tipo Form1 o Form2 utilizzata.

    Inoltre, sempre in Form1:
    codice:
    Private Sub Form_Activate()
       Set lastform = Me
    End Sub
    In Form2 occorre aggiungere questo codice:
    codice:
    Private Sub Form_Activate()
       Set lastform = Me
    End Sub
    
    Private Sub Form_Unload(Cancel As Integer)
       Set lastform = Nothing
    End Sub
    Chi non cerca trova.

  8. #8
    Bene! Perfetto, grazie
    ora il problema sembra essere risolto..
    anche se, se piu utenti si connettono insieme prima che la focus torni alla finestra chat impiega 1/2 secondi
    Troncherà qualche parola a chi sta digitando in quel momento , ma molto meglio di prima è
    :sexpulp: V3g4 :sexpulp:

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.