Visualizzazione dei risultati da 1 a 10 su 10

Discussione: VB Avviso

  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2002
    Messaggi
    24

    VB Avviso

    Ho un timer che scaduto un certo tempo mi avvisa di qualcosa. COsa posso fare allo scadere? AVete dei consigli?
    La mi idea era di far partire una musichetta e far apparire un messaggio! I problemi sono 2:
    1) COme faccio a far partire la musichetta?
    2) Come faccio a far venire il messaggio davanti a tutte le altre applicazioni?

  2. #2
    Utente bannato
    Registrato dal
    Apr 2002
    Messaggi
    546
    digita:

    For i = 1 To 3
    Beep
    Next i
    MsgBox ("Hai ascoltato una breve musichetta " _
    & vbCrLf & "clicca su OK per ascoltare la lunga musichetta")
    For i = 1 To 100
    Beep
    Next i

  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2002
    Messaggi
    24

    ...

    A parte il fatto che (non so perchè) qualunque valore metto nel for visual basic mi fa solo un bip!
    Non cè un modo per far saltare fuori la msgbox davanti a tutte le altre applicazioni?

  4. #4
    Utente bannato
    Registrato dal
    Jan 2000
    Messaggi
    360

    Re: ...

    Originariamente inviato da Minoko
    A parte il fatto che (non so perchè) qualunque valore metto nel for visual basic mi fa solo un bip!
    Non cè un modo per far saltare fuori la msgbox davanti a tutte le altre applicazioni?
    Un mi sa che devi studarie un pò vb... ...infatti dal codice deve fare solo bip!!

    Poi la msgbox rimane davanti sempre al proprio prg ma nn davanti algi altri, se impostata normalmente!!

  5. #5
    Utente di HTML.it
    Registrato dal
    Jun 2002
    Messaggi
    24

    ...

    intendo che fa solo 1 bip e non in base a quelli che metto nel for!!! Ne fa solo 1 di numero!

    Ma allora datemi un cosiglio: se devo fare un programma che lavora per conto suo, qual è il modo migliore per comunicare che ha finito?

    Cè un modo per far lampeggiare la barra delle applicazioni? Bo,ditemi voi!

  6. #6
    Utente bannato
    Registrato dal
    Apr 2002
    Messaggi
    546
    digita così:

    'DUE PULSANTI
    Dim Msg, Style, Title, Help, Ctxt, Response, MyString
    Msg = "Clicca su SI per sentire una musichina breve" & _
    vbCrLf & "Clicca su NO per sentire una lunga musichina" ' Definisce il messaggio.
    Style = vbYesNo + vbDefaultButton2 ' Definisce i pulsanti.
    Title = " Messaggio" ' Definisce il titolo.

    Response = MsgBox(Msg, Style, Title, Help, Ctxt)
    If Response = vbYes Then ' L'utente sceglie il pulsante Sì.

    MyString = "Sì" ' Esegue un'azione.
    For i = 1 To 5
    Beep
    Next i
    Else
    For i = 1 To 1000
    Beep
    Next i
    End If

  7. #7
    Utente di HTML.it
    Registrato dal
    Jun 2002
    Messaggi
    24

    ...

    ...e invece per far partire un wav o per far lampeggiare la barra? (come icq per esempio)

  8. #8
    Utente bannato
    Registrato dal
    Apr 2002
    Messaggi
    546
    clicca sul pulsante ricerca ci sono molti post al riguardo......

  9. #9

    msgbox senza pulsanti?

    Come si puo' fare una msgbox senza pulsanti?
    Scusate ...ho anche aperto per sbaglio un altro thread....

    Sigh..

    Ciao e grazie

  10. #10
    questa è la mia idea usando le API

    due form

    frmMain
    bottone > cmdApri

    frmMsgBoxFinto
    timer > timer1 > (con interval a 500)




    CODICE FRMMAIN
    codice:
    Private Declare Function PlaySound Lib "winmm.dll" Alias "PlaySoundA" (ByVal lpszName As String, ByVal hModule As Long, ByVal dwFlags As Long) As Long
    Private Declare Sub 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)
    
    Private Const SND_APPLICATION = &H80         '  look for application specific association
    Private Const SND_ALIAS = &H10000     '  name is a WIN.INI [sounds] entry
    Private Const SND_ALIAS_ID = &H110000    '  name is a WIN.INI [sounds] entry identifier
    Private Const SND_ASYNC = &H1         '  play asynchronously
    Private Const SND_FILENAME = &H20000     '  name is a file name
    Private Const SND_LOOP = &H8         '  loop the sound until next sndPlaySound
    Private Const SND_MEMORY = &H4         '  lpszSoundName points to a memory file
    Private Const SND_NODEFAULT = &H2         '  silence not default, if sound not found
    Private Const SND_NOSTOP = &H10        '  don't stop any currently playing sound
    Private Const SND_NOWAIT = &H2000      '  don't wait if the driver is busy
    Private Const SND_PURGE = &H40               '  purge non-static events for task
    Private Const SND_RESOURCE = &H40004     '  name is a resource name or atom
    Private Const SND_SYNC = &H0         '  play synchronously (default)
    
    Private Const HWND_TOPMOST = -1
    Private Const HWND_NOTOPMOST = -2
    Private Const SWP_NOACTIVATE = &H10
    Private Const SWP_SHOWWINDOW = &H40
    
    
    Private Sub cmdAPRI_Click()
    
    'suona un file
    Dim pth As String
    pth = "C:\documenti\mionome\miofile.wav"
    
    '''oppure
    'pth = app.path & "\miofile.wav"
    '''e così suonerà un file che si chiama
    '''miofile.wav e che si trova nella
    '''stessa cartella dove viene avviato
    '''l'exe che fai...
    
    PlaySound pth, ByVal 0&, SND_FILENAME Or SND_ASYNC
    
    'imposta la finestra MSGBOX come "primo piano"
    SetWindowPos frmmsgboxfinta.hwnd, HWND_TOPMOST, frmmsgboxfinta.Left / 15, frmmsgboxfinta.Top / 15, frmmsgboxfinta.Width / 15, frmmsgboxfinta.Height / 15, SWP_NOACTIVATE
    
    ' e la visualizza in modale
    frmmsgboxfinta.Show vbModal
    
    End Sub


    CODICE FRMMSGBOXFINTO
    codice:
    Private Declare Function FlashWindow Lib "user32" (ByVal hwnd As Long, ByVal bInvert As Long) As Long
    
    Private Sub Timer1_Timer()
    'fa lampeggiare la finestra
    FlashWindow Me.hwnd, True
    End Sub


    questo funge usando le API

    una suona (wave)
    una mette in primo piano
    una fa lampeggiare (la barra)

    invece di usare le normali msgbox di windows
    ne usi una tua personalizzata (frmmsgboxfinta)
    dove ci metti un tasto OK, nessun tasto
    oppure una label con scritto "tutto fatto!"
    insomma la fai come vuoi!

    semplice no?

    se non riesci a farlo fungere (componendolo da questo post)
    allora dammi la tua email che ti mando
    il progetto già pronto...
    ok?

    mi sembra di avere risolto il tuo problema
    in modo completo e semplice!
    san imente saluta

    * http://simonecingano.it *

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.