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

    [VB6] FORM MDI - Menu Salva attivo solo se sono aperti FROM FIGLI

    Nel mio FORM MDI ho un un menù tra cui c'è la voce SALVA.
    Vorrei abilitare questa voce solo se sono aperti dei form figli altrimenti deve essere disabilitata.

    Come si fara mai?


  2. #2
    Per caso dovrei usare la proprietà ActiveForm?

    Qualcuno sa come?


    MM

  3. #3
    Moderatore di CMS L'avatar di kalosjo
    Registrato dal
    Jul 2001
    residenza
    In culo alla luna
    Messaggi
    1,999
    La collection Forms ti restituisce i form aperti.

    Quindi valuta Forms.count per vedere quanti sono i forms aperti. Se è = 1 allora è aperta solo la mdi
    Scusate i puntini di sospensione...... La verità è che non ho argomenti....

  4. #4
    Grazie "kalosjo"

    Ma dove devo piazzarla questa routine?

    Sull'evento Activate della form madre MDI?

  5. #5
    Moderatore di CMS L'avatar di kalosjo
    Registrato dal
    Jul 2001
    residenza
    In culo alla luna
    Messaggi
    1,999
    Vedi dove ti serve.....

    Nella activate sicuramente funziona (quando chiudi l'ultimo form, si attiva l'MDI)
    Scusate i puntini di sospensione...... La verità è che non ho argomenti....

  6. #6

    ...sicuramente sono sulla strada giusta ma sbaglio ancora qualcosa

    Ho messo le seguenti righe di codice nell'evento acivate della form madre ma non funzia perchè quell'vento scatta solo quando carico per la prima volta la form poi non viene più considerato.

    Private Sub MDIForm_Activate()
    If Forms.Count > 1 Then
    Me.mnuCopy.Enabled = True
    Me.mnuCut.Enabled = True
    Me.mnuPaste.Enabled = True
    Else
    Me.mnuCopy.Enabled = False
    Me.mnuCut.Enabled = False
    Me.mnuPaste.Enabled = False
    End If
    End Sub

    Tra l'altro, cosa stranissima, Forms.Count mi restituisce sempre il valore 3

  7. #7

    posto la soluzione...

    Posto la soluzione per chi ne avesse bisogno:

    codice:
    ******************************MODULO CON VARIE FUNZIONI****
    'Abilita o disabilita le voci del menu principale.
    'Se non ci sono form figli aperti le voci vengono disabilitate.
    'se esiste almeno una from figlia aperta  le voci vengono abilitate
    Public Sub Gestione_Voci_Menu_Principale()
        With frm_Main
            If Forms.Count > 2 Then  'NON SO PERCHE' CI VA 2 ANZICHE 1
                .mnu_salva.Enabled = True
                .mnu_stampa.Enabled = True
                .mnuElimina.Enabled = True
            Else
                .mnu_salva.Enabled = False
                .mnu_stampa.Enabled = False
                .mnuElimina.Enabled = False
            End If
        End With
    End Sub
    ************************************************************
     
    ******************************FORM FIGLI********************
    Private Sub Form_Activate()
        ...
        Call Gestione_Voci_Menu_Principale
        ...
    End Sub
     
    Private Sub Form_Terminate()
        Call Gestione_Voci_Menu_Principale
    End Sub
    **************************************************************
    Ciao e grazie

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.