|
| Always on top Fra : sedar |
Dato : 10-07-02 16:30 |
|
Hej
Jeg sidder og roder med lidt VB og er stødt ind i en mur og jeg håber derfor
at der er nogen som kan hjælpe
Jeg har en form som jeg ønsker skal være forest på skærmen.
hvis jeg bruger kommandoen form.show modal så er det kun det aktuelle
projekt som formen kommer foran.
Det jeg ønsker er at min form skal komme foran alt hvad der er aktivt og
hvad der nu måtte blive aktivt efter at have startet mit projekt.
På forhånd tak.
Carsten
| |
Kaj Nicolaisen (10-07-2002)
| Kommentar Fra : Kaj Nicolaisen |
Dato : 10-07-02 17:33 |
|
Put følgende i et modul:
__________________________________
Const SWP_NOSIZE = &H1
Const SWP_NOMOVE = &H2
Const HWND_TOPMOST = -1
Const HWND_NOTOPMOST = -2
Public vindTxt
Public 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
Public Sub ForceWindowOnTop(hwnd As Long, bTrueFalse As Boolean)
Dim i
If bTrueFalse = True Then
i = SetWindowPos(hwnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOSIZE Or
SWP_NOMOVE)
Else
i = SetWindowPos(hwnd, HWND_NOTOPMOST, 0, 0, 0, 0, SWP_NOSIZE Or
SWP_NOMOVE)
End If
End Sub
_____________________________________
....og dette i formens kode:
_____________________________________
Private Sub Form_Load()
Call ForceWindowOnTop(Me.hwnd, True)
End Sub
vh
Kaj
"sedar" <sedar31@hotmail.com> skrev i en meddelelse
news:3d2c5314$0$692$d40e179e@nntp04.dk.telia.net...
> Hej
>
> Jeg sidder og roder med lidt VB og er stødt ind i en mur og jeg håber
derfor
> at der er nogen som kan hjælpe
>
> Jeg har en form som jeg ønsker skal være forest på skærmen.
>
> hvis jeg bruger kommandoen form.show modal så er det kun det
aktuelle
> projekt som formen kommer foran.
>
> Det jeg ønsker er at min form skal komme foran alt hvad der er aktivt og
> hvad der nu måtte blive aktivt efter at have startet mit projekt.
>
> På forhånd tak.
>
> Carsten
>
>
>
| |
Jørgen Holdt (11-07-2002)
| Kommentar Fra : Jørgen Holdt |
Dato : 11-07-02 10:28 |
|
Benyttes i FORM
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
Private Const HWND_NOTOPMOST = -2
Private Const HWND_TOPMOST = -1
Private Const SWP_NOMOVE = &H2
Private Const SWP_NOSIZE = &H1
Private Const wFlags = SWP_NOMOVE Or SWP_NOSIZE
'Window will stay on top
Sub KeepOnTop(frmTarget As Form)
lResult = SetWindowPos(frmTarget.hwnd, HWND_TOPMOST, 0, 0, 0, 0, wFlags)
DoEvents
End Sub
'Window will not stay on top
Sub RemoveOnTop(frmTarget As Form)
lResult = SetWindowPos(frmTarget.hwnd, HWND_NOTOPMOST, 0, 0, 0, 0, wFlags)
DoEvents
End Sub
Private Sub Form_Load()
'Sætter Form1 på toppen
Call Form1.KeepOnTop(Form1)
'Fjerner Form1 fra Toppen
Call Form1.RemoveOnTop(Form1)
End Sub
----------------------------------------------------------------------------
----------------------------------------
"sedar" <sedar31@hotmail.com> skrev i en meddelelse
news:3d2c5314$0$692$d40e179e@nntp04.dk.telia.net...
> Hej
>
> Jeg sidder og roder med lidt VB og er stødt ind i en mur og jeg håber
derfor
> at der er nogen som kan hjælpe
>
> Jeg har en form som jeg ønsker skal være forest på skærmen.
>
> hvis jeg bruger kommandoen form.show modal så er det kun det
aktuelle
> projekt som formen kommer foran.
>
> Det jeg ønsker er at min form skal komme foran alt hvad der er aktivt og
> hvad der nu måtte blive aktivt efter at have startet mit projekt.
>
> På forhånd tak.
>
> Carsten
>
>
>
| |
|
|