05. september 2003 - 15:28
Der er
4 kommentarer
Form altid øverst, uanset om andre er kative.
Jeg har en opgave med en hovedform (helskærm), hvor man på forskellig måde kan hente data og vise dem. Samtidigt har jeg en anden form (1/4 skærm) hvor der vises nogle andre data. Denne lille form må ikke forsvinde, når jeg med musen aktivere hovedformen .Den må gerne blive grå og inaktiv, blot den stadig ligger oven på den anden form så den kan blive aktiv ved at klikke på den.
Man skal kunne skifte mellem de to forms, uden at nogen afdem forsvinder.
Med venlig hilsen
LL
08. september 2003 - 11:18
#2
Tak for dit svar, men det hjælper ikke at lave en MDI form. I det tilfælde er
det to under-forms, som skal udføre opgaven, hvor den ene altid skal ligge ovenpå den anden. (Min hovedform indeholder både datagrid og control-knapper.)
Jeg har prøvet ??
mvh
LL
08. september 2003 - 16:11
#4
i et modul:
Option Explicit
Private Const SWP_NOSIZE = &H1
Private Const SWP_NOMOVE = &H2
Private Const SWP_NOZORDER = &H4
Private Const SWP_NOREDRAW = &H8
Private Const SWP_NOACTIVATE = &H10
Private Const SWP_FRAMECHANGED = &H20
Private Const SWP_SHOWWINDOW = &H40
Private Const SWP_HIDEWINDOW = &H80
Private Const SWP_NOCOPYBITS = &H100
Private Const SWP_NOOWNERZORDER = &H200
Private Const HWND_TOP = 0
Private Const HWND_BOTTOM = 1
Private Const HWND_TOPMOST = -1
Private Const HWND_NOTOPMOST = -2
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)
Public Function StayOnTop(ByVal hwnd As Long, blStayOnTop As Boolean) As Long
If blStayOnTop = True Then
StayOnTop = SetWindowPos&(hwnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOSIZE Or SWP_NOMOVE)
Else
StayOnTop = SetWindowPos&(hwnd, HWND_NOTOPMOST, 0, 0, 0, 0, SWP_NOSIZE Or SWP_NOMOVE)
End If
End Function
i din form:
Private Sub Command1_Click()
Call StayOnTop(Form2.hwnd, True)
End Sub