![]() |
Tipp 0021
|
Fenster immer sichtbar
|
 |
|
Autor/Einsender: Datum: |
|
Detlev Schubert 12.04.2001 |
|
Entwicklungsumgebung: |
|
VB 5 |
|
|
Beispielsweise für eine elektronische Stechuhr ist es sinnvoll, dass das Fenster sich immer im
Vordergrund befindet. Um dies so zu gestalten, greifen wir zur API-Funktion SetWindowPos.
|
Die API-Funktion dient normalerweise dazu, die Größe oder die Position eines Fensters zu ändern.
Mit dem zweiten Parameter hWndInsert kann jedoch Wert übergeben werden, der dafür sorgt, dass
ein Fenster immer im Vordergrund ist. Die Funktion wird mit dem Handle der Form aufgerufen, und
wird im zweiten Parameter -1 übergeben, dann befindet sich die Form immer im Vordergrund,
bei Übergabe von -2 wird wieder der normale Zustand hergestellt.
|
|
Code im Codebereich des Moduls |
|
|
Option Explicit
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 Const SWP_NOSIZE = &H1
Public Const SWP_NOMOVE = &H2
Public Const FLAGS As Long = SWP_NOMOVE Or SWP_NOSIZE
Public Const HWND_TOPMOST = -1
Public Const HWND_NOTOPMOST = -2
|
|
|
Code im Codebereich der Form |
|
|
Private Sub optNonTopmost_Click()
SetWindowPos frmontop.hwnd, HWND_NOTOPMOST, 0, 0, 0, 0, FLAGS
End Sub
Private Sub optTopmost_Click()
SetWindowPos frmontop.hwnd, HWND_TOPMOST, 0, 0, 0, 0, FLAGS
End Sub
|
|
|
|
|
Windows-Version |
95 |
 |
|
98/SE |
 |
|
ME |
 |
|
NT |
 |
|
2000 |
 |
|
XP |
 |
|
Vista |
 |
|
Win
7 |
 |
|
|
VB-Version |
VBA 5 |
 |
|
VBA 6 |
 |
|
VB 4/16 |
 |
|
VB 4/32 |
 |
|
VB 5 |
 |
|
VB 6 |
 |
|
|
|
Download (2,1 kB)
|
Downloads bisher: [ 2354 ]
|
|
|