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

    [vb] msgbox in primo piano

    Come posso avere una msgbox che sia visualizzata sempre in primo piano ( indipendentemente dalle applicazioni in corso )?

    Grazie.

  2. #2
    Utente bannato
    Registrato dal
    Apr 2002
    Messaggi
    546
    msgbox("ciao amico come va....?")

  3. #3
    Come dici tu non viene visualizzata sempre in primo piano...

    Per adesso l'unico modo che ho trovato è fare così:

    MsgBox "CIAO!!!!", vbSystemModal, "Saluto"

    Esistono altri metodi senza usare le API?

    Ciao.

  4. #4
    Utente bannato
    Registrato dal
    Apr 2002
    Messaggi
    546
    crea un nuovo progetto e incolla questo codice:

    '-----------taglia da quì-----------------------
    Private Sub Form_Activate()
    Form1.Visible = False
    Dim mes(2) As String
    mes(1) = "Questo è un messaggio senza API"
    mes(2) = "ciao amico come va.........?"
    Dim msg, Style, Title, Help, Ctxt, Response, MyString
    msg = " ....... a risentirci a presto amico" & vbCrLf & "In effetti la tua msgbox rimane sempre" & vbCrLf & "in primo piano" & vbCrLf & "Invece la mia no" & vbCrLf & "grazie per l'aiuto!"
    Style = vbYesNo + vbCritical + vbDefaultButton2
    Title = " Vuoi creare un messaggio senza API ?"
    Response = MsgBox(msg, Style, Title, Help, Ctxt)
    If Response = vbYes Then
    MyString = "Sì"
    Form1.Visible = True
    Form1.Print mes(1)
    Form1.Print mes(2)
    Exit Sub
    Else
    MsgBox ("Hai scelto quella che rimane sempre in piano" & vbCrLf & "ciao amico come va....?")
    End
    Exit Sub
    End If
    End Sub
    '--------------a quì---------------------

  5. #5

    Puoi usare questo...

    Innanzitutto premetto che (dall'esperienza che ho avuto) non puoi visualizzare un msgbox sempre in primo piano.
    Devi costruirti una form per visualizzare tale messaggio alla quale (attraverso un API) dai la proprietà StayOnTop.
    Tale API è la seguente:

    codice:
    Private Declare Function SetWindowPos Lib "user32" _
             (ByVal hWnd As Long, ByVal hWndInsertAfter As Long, ByVal X As Long, ByVal Y As Long, _
              ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long
    
    Const HWND_TOPMOST = -1
    Const SWP_NOMOVE = &H2
    Const SWP_NOSIZE = &H1
                
    Private Sub Form_Load()
        SetWindowPos Me.hWnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE Or SWP_NOSIZE
    End Sub
    Spero sia abbastanza chiaro, fammi sapere...

    Ciao!!:master:
    lupusinfabula

    Programmatore VB, ASP, Delphi.

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 © 2024 vBulletin Solutions, Inc. All rights reserved.