Pagina 2 di 2 primaprima 1 2
Visualizzazione dei risultati da 11 a 17 su 17
  1. #11
    Utente di HTML.it
    Registrato dal
    Jul 2008
    Messaggi
    760
    Originariamente inviato da naki
    comunque vedete che il resize quando carichi il form o si riattiva per qualche strano caso si verifica, comunque potresti usare che quando ottiene il focus il form controlla top e left

    Quando carichi il form (evento Load) si verifica anche l'evento Resize (ed altri) non "per qualche strano caso", ma semplicemente perché le proprietà Width ed Height vengono impostate per la prima volta.
    Il form di roma77roma non riceverà mai il focus: primo perché è completamente ricoperto da un altro form, secondo perché non avendo bordi non può essere spostato manualmente, ma solo da codice. Anche se potesse ricevere il focus, per esempio se avesse la barra del titolo che ne permetterebbe lo spostamento con il mouse, durante lo spostamento non si verificherebbe nessun evento.

  2. #12
    Intanto grazie a tutti,
    purtroppo però non va, o meglio non che non funzioni ma non mi risolve il problema originario e cioè alcune volte (l'ho fa sempre quando abbasso il form principale che non è nessuno dei 2 form di cui abbiamo parlato fino ad ora) il secondo form va dietro al primo. posto un po' di codice vediamo se insieme riusciamo a trovare l'errore:

    un form completamente nero senza nulla chiamato formfiltro
    un form completamente nero con solo una picturebox dove si riproducono immagini e vedeo chiamato formvideo

    nel formvideo:
    SetWindowPos formvideo.hwnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOACTIVATE Or SWP_SHOWWINDOW Or SWP_NOSIZE Or SWP_NOMOVE
    SetWindowPos Formfiltro.hwnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOACTIVATE Or SWP_SHOWWINDOW Or SWP_NOSIZE Or SWP_NOMOVE

    in pratica metto il video e poi il filtro in rilievo su tutto.

    nel modulo:
    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
    Public Const SWP_FRAMECHANGED = &H20
    Public Const HWND_TOP = 0
    Public Const HWND_TOPMOST = -1
    Public Const HWND_NOTOPMOST = -2
    Public Const SWP_DRAWFRAME = SWP_FRAMECHANGED
    Public Const SWP_HIDEWINDOW = &H80
    Public Const SWP_NOACTIVATE = &H10
    Public Const SWP_NOCOPYBITS = &H100
    Public Const SWP_NOMOVE = &H2
    Public Const SWP_NOOWNERZORDER = &H200
    Public Const SWP_NOREDRAW = &H8
    Public Const SWP_NOREPOSITION = SWP_NOOWNERZORDER
    Public Const SWP_NOSIZE = &H1
    Public Const SWP_NOZORDER = &H4
    Public Const SWP_SHOWWINDOW = &H40


    alla fine ci sono 3 form, un principale, il formvideo e il formfiltro e un modulo.
    mi succede che quando minimizzo il form principale (non solo quando minimizzo ma di sicuro sempre quando lo faccio) il formfiltro passa dietro rispetto al formvideo.

    Come faccio a far si che qualunque cosa succede il formfiltro resta sempre davanti al formvideo?

    Ciao grazie.

  3. #13
    Utente di HTML.it L'avatar di naki
    Registrato dal
    Feb 2009
    Messaggi
    52
    non ricordo di preciso dove lo ho letto ma c'è una api che ti permette di farlo , cioe fa rimanere sempre in primo piano un form ,

    Chiedi a GOOGLE !!!


  4. #14
    Originariamente inviato da naki
    non ricordo di preciso dove lo ho letto ma c'è una api che ti permette di farlo , cioe fa rimanere sempre in primo piano un form ,

    Chiedi a GOOGLE !!!

    quello che ho postato sopra lo fa.... il problema è che non lo fa sempre....

  5. #15
    Utente di HTML.it L'avatar di naki
    Registrato dal
    Feb 2009
    Messaggi
    52
    ok ma questo codice

    SetWindowPos formvideo.hwnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOACTIVATE Or SWP_SHOWWINDOW Or SWP_NOSIZE Or SWP_NOMOVE
    SetWindowPos Formfiltro.hwnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOACTIVATE Or SWP_SHOWWINDOW Or SWP_NOSIZE Or SWP_NOMOVE

    a che evento è legato ??

  6. #16
    io l'ho collegato alla partenza del programma e in effetti ci resta per tutto il tempo, ma come dicevo capitano degli eventi (anche al di fuori del programma) che fa passare il secondo form dietro al primo, perchè questo codice rende prima il primo form in primo piano e poi il secondo. L'alternativa è un timer che fa sempre il controllo e se lo trova dietro lo rimanda avanti, il problema è che quando succede cmq si nota un flash ed è bruttino a vedersi...

  7. #17
    Utente di HTML.it L'avatar di naki
    Registrato dal
    Feb 2009
    Messaggi
    52
    ok a questo punto non so che dirti

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