06. januar 2005 - 16:28Der er
3 kommentarer og 1 løsning
Setfocus problem
Jeg har et program der ligger i tray.. til tider kommer der et popup, præcis som MSN-messenger fra Microsoft.
Problemet er hvis man læser på f.eks. eksperten.dk (self'ølig ;)) og popup'en kommer... sætter windows focus på den, og eksperten.dk ligger sig i baggrunden. Forstår i?
Vil ha' at min popup (ganske almindelig form) bliver vist, men der er stadig focus på IE, eller hvad nu brugeren har åben :).
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 Declare Function SetForegroundWindow Lib "User32" (ByVal hWnd As Long) As Long Private Declare Function GetForegroundWindow Lib "User32" () As Long
Private lFocus As Long
Private Sub Form_Activate() ' Når dette vindue er aktivt setes det til altid øverst SetWindowPos Me.hWnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_ALL
' Hvis lFocus ikke er samme vindue som Me.hWnd If lFocus <> Me.hWnd Then ' Setter lFocus forst SetForegroundWindow lFocus End If End Sub
Private Sub Form_Load() ' Gemmer det vindue som har fokus før dette vindue bliver vist lFocus = GetForegroundWindow End Sub '---------------------------------- Form1 ----------------------------------
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.