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

    vb6-msgbox personalizzati

    Esiste un modo per far uscire dei msgbox con dei pulsanti predefiniti?
    Vorrei far uscire tre pulsanti, ma non con "Si","No",e "Annulla", ma con tre caption diverse...
    Grazie

  2. #2
    Anzichè utilizzare il MsgBox puoi crearti un form, che varia nelle dimensioni a seconda della lunghezza del messaggio. Così puoi inserire tutti i tasti che vuoi.

  3. #3
    Bhe l'ho già fatto piu' volte ma volevo trovare una soluzione migliore.
    Grazie

  4. #4
    Non sò se ti và bene ma ci provo
    codice:
    Private Sub command1_Click()
    Dim risposta As Integer
     risposta = MsgBox("Primo messaggio" & vbCrLf & "secondo messaggio" & vbCrLf & _
    "Terzo messaggio", vbYesNoCancel + vbQuestion, "Titolo prg.")
      If risposta = vbYes Then
    'quello che vuoi che faccia
      End If
      If risposta = vbNo Then
    'qualcos'altro che deve fare
      End If
      If risposta = vbCancel Then
       Exit Sub
      End If
    End sub
    I'll see you on the dark side of the moon

  5. #5
    Voglio che al posto di yes e no posso metterci un'altra scritta

  6. #6
    Perchè non ti crei un oggetto??

  7. #7
    benchè trovo sia una cosa inutile

    ecco come si fa

    in un form con un commandbutton e una label

    codice:
    Option Explicit
    
    Private Sub Command1_Click()
        Dim hInst As Long
        Dim Thread As Long
        Dim i As Long
    
        ' crea l'Hook
        hInst = GetWindowLong(Me.hWnd, GWL_HINSTANCE)
        Thread = GetCurrentThreadId()
        hHook = SetWindowsHookEx(WH_CALLWNDPROCRET, AddressOf CallWndRetProc, hInst, Thread)
    
        ' Mostra il messagebox
        i = MsgBox("Ti piace questa messagebox?", vbQuestion + vbYesNo, "messagebox personalizzata")
        ' si = vbYes, si = vbNo
        If i = vbYes Then
            Label1 = "premuto si"
        ElseIf i = vbNo Then
            Label1 = "premuto si"
        End If
    End Sub
    in un modulo

    codice:
    Option Explicit
    '
    Public hHook As Long
    Public Const WH_CALLWNDPROCRET = 12
    Public Const GWL_HINSTANCE = (-6)
    
    Private Type tagCWPRETSTRUCT
        lResult As Long
        lParam As Long
        wParam As Long
        message As Long
        hWnd As Long
    End Type
    
    Private Const WM_INITDIALOG = &H110
    
    Public Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" _
        (ByVal hWnd As Long, ByVal nIndex As Long) As Long
    Public Declare Function GetCurrentThreadId Lib "kernel32" () As Long
    Public Declare Function SetWindowsHookEx Lib "user32" Alias "SetWindowsHookExA" _
        (ByVal idHook As Long, ByVal lpfn As Long, _
        ByVal hmod As Long, ByVal dwThreadId As Long) As Long
    
    Private Declare Function UnhookWindowsHookEx Lib "user32" _
        (ByVal hHook As Long) As Long
    Private Declare Function CallNextHookEx Lib "user32" _
        (ByVal hHook As Long, ByVal nCode As Long, _
        ByVal wParam As Long, lParam As Any) As Long
    
    Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" _
        (Destination As Any, Source As Any, ByVal Length As Long)
    
    ' Dialog Box Command IDs
    Private Const IDOK = 1
    Private Const IDCANCEL = 2
    Private Const IDABORT = 3
    Private Const IDRETRY = 4
    Private Const IDIGNORE = 5
    Private Const IDYES = 6
    Private Const IDNO = 7
    
    Private Declare Function SetDlgItemText Lib "user32" Alias "SetDlgItemTextA" _
        (ByVal hDlg As Long, ByVal nIDDlgItem As Long, _
        ByVal lpString As String) As Long
    
    Public Function CallWndRetProc(ByVal nCode As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
        Dim lr As Long
        Dim s As tagCWPRETSTRUCT
    
        lr = CallNextHookEx(hHook, nCode, wParam, lParam)
        If (nCode < 0) Then
            CallWndRetProc = lr
            Exit Function
        End If
        
        Call CopyMemory(s, ByVal lParam, Len(s))
    
        If (s.message = WM_INITDIALOG) Then
            
            Call SetDlgItemText(s.hWnd, IDYES, "si")
            Call SetDlgItemText(s.hWnd, IDNO, "si")
            
            UnhookWindowsHookEx hHook
            lr = 0&
        End If
    
        CallWndRetProc = lr
    End Function
    Vascello fantasma dei mentecatti nonchè baronetto della scara corona alcolica, piccolo spuccello di pezza dislessico e ubriaco- Colui che ha modificato l'orribile scritta - Gran Evacuatore Mentecatto - Tristo Mietitore Mentecatto chi usa uTonter danneggia anche te

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.