Avatar billede thewizard Nybegynder
06. januar 2005 - 16:28 Der 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 :).
Avatar billede sjh Nybegynder
07. januar 2005 - 15:02 #1
'---------------------------------- Form1 ----------------------------------
Option Explicit

Private Const HWND_TOPMOST = -1
Private Const SWP_NOSIZE = &H1
Private Const SWP_NOMOVE = &H2
Private Const SWP_NOACTIVATE = &H10
Private Const SWP_SHOWWINDOW = &H40
Private Const SWP_ALL = SWP_NOACTIVATE Or SWP_SHOWWINDOW Or SWP_NOMOVE Or SWP_NOSIZE

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 ----------------------------------
Avatar billede sjh Nybegynder
22. januar 2005 - 19:34 #2
Kan du bruge det??
Avatar billede thewizard Nybegynder
13. juli 2006 - 04:42 #3
Ja :) læg svar hvis du stadig læser.
Avatar billede sjh Nybegynder
13. juli 2006 - 18:56 #4
:P
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester