Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it L'avatar di Mosfet
    Registrato dal
    Jul 2002
    Messaggi
    124

    [VB6] problemi di focus?

    Mi capita a volte che un form secondario venga nascosto dal form principale dell'applicazione pur essendo settati in modo corretto i focus.

    Quando succede ciò infatti, il form principale è visibile ma non risponde ai comandi (che è giusto perchè non c'è focus) mentre il form secondario (con il focus attivo) è nascosto sotto e devo andarlo a ripescare riducendo ad icona il principale... Come posso evitare che accada? Come posso fare in modo che il form secondario stia SEMPRE davanti al form principale?

    Grazie
    "L'entropia di Windows aumenta con funzione esponenziale dal giorno della sua installazione".

  2. #2
    Utente di HTML.it L'avatar di XWolverineX
    Registrato dal
    Aug 2005
    residenza
    Prague
    Messaggi
    2,563
    Prova con questo

    codice:
      Declare Function SetWindowPos Lib "user32" _
    (ByVal h%, ByVal hb%, ByVal x%, ByVal y%, _
    ByVal cx%, ByVal cy%, ByVal f%) As Integer
    Global Const SWP_NOMOVE = 2
    Global Const SWP_NOSIZE = 1
    Global Const FLAGS = SWP_NOMOVE Or SWP_NOSIZE
    Global Const HWND_TOPMOST = -1
    Global Const HWND_NOTOPMOST = -2
    Aggiungilo nei tuoi moduli
    codice:
    Public Sub Form_OnTop(Form As Form)
        Dim lResult As Long
        lResult& = SetWindowPos(Form.hwnd, HWND_TOPMOST, 0&, 0&, 0&, 0&, FLAGS)
    End Sub
    Public Sub Form_NotOnTop(Form As Form)
        Dim lResult As Long
        lResult& = SetWindowPos(Form.hwnd, HWND_NOTOPMOST, 0&, 0&, 0&, 0&, FLAGS)
    End Sub
    e usa questo nei tuoi form

  3. #3
    Utente di HTML.it L'avatar di Mosfet
    Registrato dal
    Jul 2002
    Messaggi
    124
    Ho provato ma non va o non richiamo bene la funzione...

    nel load del fomr devo chiamare

    Form_OnTop (NomeForm_Secondario)
    Form_NotOnTop (NomeForm_Primario)

    ma mi dice tipo non corrispondente...
    "L'entropia di Windows aumenta con funzione esponenziale dal giorno della sua installazione".

  4. #4
    Utente di HTML.it L'avatar di Jupy64
    Registrato dal
    Sep 2004
    Messaggi
    1,151
    ciao, forse non avvii il secondo form in modalità modale...
    secondoForm.show vbModal
    Jupy

  5. #5
    Utente di HTML.it L'avatar di Mosfet
    Registrato dal
    Jul 2002
    Messaggi
    124
    si con il vbModal funziona...

    ma che fa esattamente il vbModal?

    Grazie
    "L'entropia di Windows aumenta con funzione esponenziale dal giorno della sua installazione".

  6. #6
    Utente di HTML.it L'avatar di Jupy64
    Registrato dal
    Sep 2004
    Messaggi
    1,151
    rende il form modale! Un form modale non ti permette di accedere al form chiamante fintanto che non lo si chiude!
    Jupy

  7. #7
    Utente di HTML.it L'avatar di Mosfet
    Registrato dal
    Jul 2002
    Messaggi
    124
    Non lo sapevo.

    Grazie
    "L'entropia di Windows aumenta con funzione esponenziale dal giorno della sua installazione".

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.