Avatar billede thewizard Nybegynder
04. februar 2008 - 23:09 Der er 2 kommentarer og
1 løsning

hwnd_topmost - på toppen af andre vinduer

Hey mestre,

én af mine forme skal være "oven" på de andre forme, mens man arbejder. Til dette, gør jeg således:

-----------
Private 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

Const HWND_TOPMOST = -1
Const SWP_NOSIZE = &H1
Const SWP_NOMOVE = &H2


Private Sub Form_Load()

Dim lngRetVal As Long
lngRetVal = SetWindowPos(frmFriends.hwnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE Or SWP_NOSIZE)
End Sub


---------


Men dette placerer formen oven på alt. Dvs. når jeg minimere mit program, og f.eks. åbner eksperten.dk - så vil formen stadig være oven på alle andre vinduer. Er det muligt KUN at være oven på programmets vinduer, men ikke alle vinduer?
Avatar billede tjacob Juniormester
05. februar 2008 - 08:16 #1
Jeg formoder at du ikke kan nøjes med vbModal ved Show af den aktuelle form?

Har du prøvet med Const HWND_TOP = 0 i stedet for HWND_TOPMOST = -1?
Avatar billede thewizard Nybegynder
05. februar 2008 - 15:04 #2
Således?

Private 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

Const SWP_NOSIZE = &H1
Const SWP_NOMOVE = &H2
Const HWND_TOP = 0

Private Sub Form_Load()
MakeTransparent Me.hWnd, 100

Dim lngRetVal As Long
lngRetVal = SetWindowPos(frmFriends.hWnd, HWND_TOP, 0, 0, 0, 0, SWP_NOMOVE Or SWP_NOSIZE)

End Sub


Virker ikk.. cry.
Avatar billede thewizard Nybegynder
06. februar 2008 - 22:20 #3
frmFriends.Show 0, Me

Så nemt er det ;).
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