Visualizzazione dei risultati da 1 a 6 su 6

Discussione: Problemi con Statusbar

  1. #1
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    44

    Problemi con Statusbar

    Stò incappando in questo problema:
    nel mio form principale(non è mdi) ho una statusbar dove convergono degli altri forms quando questi vengono minimizzati.
    Per aggiungere i rispettivi pannelli alla suddetta non incontro problemi in quanto uso
    codice:
    FormPrincipale.StatusBar1.Panels.Add.Text = "FormSecondario.Caption"
    associato all'evento di ridimensionamento del form secondario.
    Il problema nasce quando provo a fare il contrario, ovvero quando voglio ridimensionare il mio form facendo click sul rispettivo pannello, tenendo anche presente che la caption del form secondario non è sempre la stessa ma varia ogni qualvolta che l'applicazione viene riavviata.

    Per farla breve la mia barra deve funzionare come la barra delle applicazioni di windows.
    Qualcuno sà aiutarmi?

  2. #2
    Se ho capito cliccando sulla status bar di un form vuoi ingrandire o ridurre a icona altri form vero?
    Dovresti creare un vettore ausiliario dove ti memorizzi il nome del form associato ad ogni pannello della status bar ogni volta che aggiungi o rimuovi un pannello, poi quando clicchi sul pannello:
    codice:
    Private Sub StatusBar1_PanelClick(ByVal Panel As MSComctlLib.Panel)
    If formname(Panel.Index).WindowState = 1 Then
    formname(Panel.Index).WindowState = 0
    Else
    formname(Panel.Index).WindowState = 1
    End If
    End Sub

  3. #3
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    44
    Capito!
    Un'altra cosa, è possibile identificare un form dalla sua caption anzichè dal suo nome?

    se io volessi chiudere un determinato form farei:
    codice:
    Unload NomeForm
    ma mi sarebbe utile poter chiudere un form identificandolo per la sua caption, qualcosa del tipo:
    codice:
    Unload Form(CaptionForm)
    è possibile fare una cosa del genere?

  4. #4
    Puoi usare una funzioncina come questa:

    codice:
    Public Sub UnloadCap(Caption As String)
    Dim MyForm As Form
    For Each myform In Forms
    If myform.Caption = Caption Then Unload myform
    Next
    End Sub
    come puoi vedere accetta la captio del form da chiudere come stringa, ovviamente se ci sono 2 form con la stessa caption li chiude entrambi.

    per richiamarla basta:

    codice:
    UnloadCap "Form1"
    dove Form1 è la Caption del form da chiudere

  5. #5
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    44
    Ottimo,veramente ottimo!
    Ti ringrazio :gren:

  6. #6

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.