ho un problema.. in una form on top facccio aprire una msgbox vbyesno dalla quale devo decidere una cosa..
il problema č che č nascosta dalla form stessa
come posso ovviare il problema ? (mantenendo il form on top o qualcosa di simile)
Io faccio cosi e da me funziona tutto correttamente:
Private Const HWND_TOPMOST = -1
Private Const HWND_NOTOPMOST = -2
Private Const SWP_NOACTIVATE = &H10
Private Const SWP_SHOWWINDOW = &H40
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)
Public Sub FormTopFocus(ByRef objFrmAux As Object, ByVal bTopFocus As Boolean)
If bTopFocus = True Then
'setto la form in primo piano
Call SetWindowPos(objFrmAux.hwnd, HWND_TOPMOST, (objFrmAux.Left / 15), (objFrmAux.Top / 15), (objFrmAux.Width / 15), (objFrmAux.Height / 15), SWP_NOACTIVATE Or SWP_SHOWWINDOW)
Else
'setto la form con focus normale
Call SetWindowPos(objFrmAux.hwnd, HWND_NOTOPMOST, (objFrmAux.Left / 15), (objFrmAux.Top / 15), (objFrmAux.Width / 15), (objFrmAux.Height / 15), SWP_NOACTIVATE Or SWP_SHOWWINDOW)
End If
End Sub
... altrimenti puoi utilizzare l'opzione vbSystemModal ed il tuo msgBox verrā visualizzato sopra a qualsiasi finesta giā aperta.
Es: MsgBox "Ciao", vbYesNo OR vbSystemModal
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.