Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente bannato
    Registrato dal
    Mar 2007
    Messaggi
    190

    [VisualBasic6] alternativa a ".ShowInTaskbar "

    salve a Tutti...

    Sto realizzando un programma in Visual Basic 6...
    ho necessità di utilizzare il comando ".ShowInTaskbar"

    peccato che questa proprietà della FORM non sia modificabile da codice..
    ma solamente prima della esecuzione.

    Qualcuno di voi ha una valida alternativa da propormi?

    Post Scriptum
    la proprietà .ShowInTaskbar della FORM
    ha la funzione di imposta un valore che indica se il form è visualizzato nella barra delle applicazioni di Windows.

    grazie ancora.

  2. #2
    Utente di HTML.it L'avatar di gibra
    Registrato dal
    Apr 2008
    residenza
    Italy
    Messaggi
    4,244
    Se devi usare ShowInTaskbar.... impostala in progettazione.
    Dove sta il TUO problema?


  3. #3
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,472

    Re: [VisualBasic6] alternativa a ".ShowInTaskbar "

    Originariamente inviato da tuono_2000
    Sto realizzando un programma in Visual Basic 6...
    la proprietà .ShowInTaskbar della FORM
    La guida che hai segnalato non parla di VB6, ma di Visual Basic .NET.
    Quale dei due stai utilizzando?
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  4. #4
    Utente bannato
    Registrato dal
    Mar 2007
    Messaggi
    190
    grazie ragazzi per l'intervento...

    alka
    Questo progetto lo sto realizzando in Visual Basic 6, come indicato dall'inizio;
    Il collegamento alla guida è per dare una idea, a chi non conosce il comando, a cosa serve.

    gibra
    il comando l'ho inserito in progettazione...
    per la precisione è all'interno di un CommandButton all'interno della Form.

    codice:
    Private Sub FinestrM_Click()
    rem porta in primo piano la finestra quando carica
    Call Mni_Click ' minimizza la form
    If Form1.ShowInTaskbar = True Then ' verifica lo stato della form
    rem finestra sganciata 
    FinestrM.ToolTipText = "Visualizza la finestra sganciata dalla barra"
    Form1.ShowInTaskbar = False
    Else
    rem finestra agganciata
    FinestrM.ToolTipText = "Visualizza la finestra agganciata dalla barra"
    Form1.ShowInTaskbar = True 
    End If
    End Sub

  5. #5
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,472
    Originariamente inviato da tuono_2000
    il comando l'ho inserito in progettazione...
    per la precisione è all'interno di un CommandButton all'interno della Form.
    Vedi qui.
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  6. #6
    Utente bannato
    Registrato dal
    Mar 2007
    Messaggi
    190
    grazie alka per l'aiuto

    ma non pensavo fosse così complicato
    utilizzare questo comando in modo "dinamico"...
    dato che tra le proprietà della FORM è semplificato.

    Riporto il codice suggerito:
    codice:
    'Realizzare 2 command buttons con questi Nomi 'cmdToggle' e 'cmdCheck'
    Option Explicit
    
    Private Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" 
    (ByVal hwnd As Long, ByVal nIndex As Long) As Long
    
    Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" 
    (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
    
    Private Declare Function ShowWindow Lib "user32" 
    (ByVal hwnd As Long, ByVal nCmdShow As Long) As Long
    
    Private Const GWL_EXSTYLE = (-20)
    Private Const WS_EX_APPWINDOW = &H40000
    
    Const SW_HIDE = 0
    Const SW_NORMAL = 1
    
    Private Sub ShowInTheTaskbar(hwnd As Long, bShow As Boolean)
    Dim lStyle As Long
    ShowWindow hwnd, SW_HIDE
    lStyle = GetWindowLong(hwnd, GWL_EXSTYLE)
    If bShow = False Then
    If lStyle And WS_EX_APPWINDOW Then
    lStyle = lStyle - WS_EX_APPWINDOW
    End If
    Else
    lStyle = lStyle Or WS_EX_APPWINDOW
    End If
    SetWindowLong hwnd, GWL_EXSTYLE, lStyle
    App.TaskVisible = bShow
    ShowWindow hwnd, SW_NORMAL
    End Sub
    
    Private Function IsVisibleInTheTaskbar(hwnd As Long) As Boolean
    Dim lStyle As Long
    lStyle = GetWindowLong(hwnd, GWL_EXSTYLE)
    If lStyle And WS_EX_APPWINDOW Then
    IsVisibleInTheTaskbar = True
    End If
    End Function
    
    Private Sub cmdToggle_Click()
    Static bVisible As Boolean
    bVisible = Not IsVisibleInTheTaskbar(Me.hwnd)
    ShowInTheTaskbar Me.hwnd, bVisible
    End Sub
    
    Private Sub Form_Load()
    cmdToggle.Caption = "Leva visibilità"
    cmdCheck.Caption = "Controlla visibilità"
    End Sub
    grazie ancora,
    cerchero una alternativa al SUO uso.

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.