hmm ich hab so das gefühl ich bin der einer der wenigen die hier im forum posten, aber ich hätte wiedermal eine frage. ich hoff ihr verweist mich nicht wieder auf vbarchiv, wäre schade wenn dieses forum ausstirbt. also zu meinem problem:
ich hab im internet einen sehr schönen code für vb6 gefunden, den ich in ein modul reinkopiert habe:
Code
Option Explicit
' alle benötigten API-Deklarationen
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 Declare Function GetWindowLong Lib "user32" _
Alias "GetWindowLongA" (ByVal hwnd As Long, _
ByVal nIndex As Long) As Long
Private Declare Function SetWindowLong Lib "user32" _
Alias "SetWindowLongA" (ByVal hwnd As Long, _
ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Private Const SWP_FRAMECHANGED = &H20
Private Const SWP_NOMOVE = &H2
Private Const SWP_NOSIZE = &H1
Private Const SWP_NOZORDER = &H4
Private Const SWP_NOACTIVATE = &H10
Private Const SWP_REFRESH = SWP_NOZORDER Or _
SWP_NOSIZE Or SWP_NOMOVE Or SWP_NOACTIVATE Or _
SWP_FRAMECHANGED
Private Const GWL_STYLE = (-16)
Private Const WS_MAXIMIZEBOX = &H10000
Private Const WS_MINIMIZEBOX = &H20000
Private Const HWND_TOPMOST = -1
' Minimieren/Maximieren Button einer Form anzeigen
Public Sub MinMaxButton(Form As Form)
Dim Style As Long
With Form
Style = GetWindowLong(.hwnd, GWL_STYLE)
Style = Style Or WS_MINIMIZEBOX Or WS_MAXIMIZEBOX
SetWindowLong .hwnd, GWL_STYLE, Style
SetWindowPos .hwnd, 0, 0, 0, 0, 0, SWP_REFRESH
End With
End Sub
' Fenster immer im Vordergrund
Public Sub TopWindow(hwnd As Long)
SetWindowPos hwnd, HWND_TOPMOST, 0, 0, 0, 0, _
SWP_NOSIZE + SWP_NOMOVE
End Sub
Alles anzeigen
so rufe ich es nun auf:
Code
If mainform.Check2.Enabled = True Then
' Fenster immer im Vordergrund anzeigen
TopWindow Me.hwnd
End If
der code funktioniert wunderbar, allerdings möchte ich es auch wieder umstellen, dass das form nicht mehr immer im vordergrund ist. ich kenn mich leider noch zuwenig aus, als das ich einfach herumprobieren könnte. wahrscheinlich ist es nur ein kleiner "handgriff". vl könnt ihr mir helfen, ich würde mich freuen
mfg SeekeR