Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2005
    Messaggi
    127

    Togliere pulsante X dalla TitleBar

    Ciao,

    ho una form impostata come fixed single.

    vorrei che premuto un pulsante su di una toolbar il pulsante di chiusura della form nella titlebar sparisse.

    Per fare questo ho fatto:

    form.controlbox=false

    Quando pero' provo mi appare il seguente errore:

    Errore di compilazione:
    Per la funziona o l'interfaccia sono state impostate delle restrizioni, oppure la funziona utilizza un tipo di automazione non supportato in visual Basic.

    e mi evidenzia la riga della gestione del controlbox.

    La cosa strana e' che se invece che da codice la proprieta false al controlbox la imposto dal designer il tutto funziona ma a quel punto non riesco piu' a riabilitarlo.

    Ho fatto svariati tentativi ma non ne sono uscito.

    Spero qualcuno possa darmi una mano.

    ciao

    alessandro

  2. #2
    prova ad impostarlo in fase di design
    prude il dito, lui sdraiato
    ha giocato a guardie e ladri col ladro sbagliato

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2005
    Messaggi
    127
    Come ho scritto nel primo messaggio ho gia' provato e funziona.

    il problema e' che io ho assolutamente bisogno di farlo da codice e di farlo scatenare da un pulsante di una toolbar.

  4. #4
    Utente di HTML.it L'avatar di Boolean
    Registrato dal
    Oct 2005
    Messaggi
    758
    la proprietà ControlBox è a sola lettura in fase di esecuzione, per questo non puoi fare:

    Me.ControlBox = False

    prova così:

    codice:
    Private Declare Function GetSystemMenu Lib "user32" (ByVal hwnd As Long, ByVal bRevert As Long) As Long
    Private Declare Function GetMenuItemCount Lib "user32" (ByVal hMenu As Long) As Long
    Private Declare Function DrawMenuBar Lib "user32" (ByVal hwnd As Long) As Long
    Private Declare Function RemoveMenu Lib "user32" (ByVal hMenu As Long, ByVal nPosition As Long, ByVal wFlags As Long) As Long
    Const MF_BYPOSITION = &H400&
    Const MF_REMOVE = &H1000&
    
    Private Sub Command1_Click()
        Dim hSysMenu As Long, nCnt As Long
        hSysMenu = GetSystemMenu(Me.hwnd, False)
    
        If hSysMenu Then
            nCnt = GetMenuItemCount(hSysMenu)
            If nCnt Then
                RemoveMenu hSysMenu, nCnt - 1, MF_BYPOSITION Or MF_REMOVE
                RemoveMenu hSysMenu, nCnt - 2, MF_BYPOSITION Or MF_REMOVE
                DrawMenuBar Me.hwnd
            End If
        End If
    
    End Sub
    ricordati di aggiungere un pulsante per scaricare il form... ad esempio:

    codice:
    Command2_Click()
    Unload Me
    End Sub
    Boolean

  5. #5
    Utente di HTML.it
    Registrato dal
    Oct 2005
    Messaggi
    127
    Grazie Mille, ma se volessi poi riabilitarlo?

    Ciao

    Alessandro

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.