Postup:
V deklarační části formuláře:
Private Const ABS_AUTOHIDE = &H1
Private Const ABS_ALWAYSONTOP = &H2
Private Const ABE_LEFT = 0
Private Const ABE_TOP = 1
Private Const ABE_RIGHT = 2
Private Const ABE_BOTTOM = 3
Private Type RECT
Left As Long
Top As Long
Right As Long
Bottom As Long
End Type
Private Type APPBARDATA
cbSize As Long
hwnd As Long
uCallbackMessage As Long
uEdge As Long
rc As RECT
lParam As Long
End Type
Private Declare Function SHAppBarMessage Lib "shell32.dll" _
(ByVal dwMessage As Long, pData As APPBARDATA) As Long
Na formulář přidejte
tlačítko a na jeho událost Click:
Private Sub Command1_Click()
Dim rc As RECT
Dim ABD As APPBARDATA
Dim state As Long
Dim position As Integer
Dim hWndAppBar As Long
Dim msg As String
ABD.cbSize = Len(ABD)
state = SHAppBarMessage(ABM_GETSTATE, ABD)
Select Case state
Case False
msg = msg & " -
Automaticky schovávat = Ne, _
Vždy
na vrchu = Ne." & vbCrLf
msg = msg & " - Uživatel
povolil aplikacím stavový _
řádek
překrýt." & vbCrLf
msg = msg & " -
Pokud je aplikace maximalizována, _
musí
být stavový řádek manuálně vyvolán."
Case ABS_ALWAYSONTOP
msg = msg & " - Vždy
na vrchu = Ano." & vbCrLf
msg = msg & " -
Stavový řádek je vždy zobrazen." & vbCrLf
msg = msg & " -
Velikost pracovní plochy je zmenšena _
o
velikost stavového řádku."
Case Else
msg = msg & " -
Automaticky schovávat = Ano." & vbCrLf
msg = msg & " -
Stavový řádek se zobrazí po najetí kurzorem." & vbCrLf
msg = msg & " -
Stavový řádek je umístněn "
For position = ABE_LEFT To ABE_BOTTOM
ABD.uEdge = position
hWndAppBar = SHAppBarMessage(ABM_GETAUTOHIDEBAR, ABD)
If hWndAppBar > 0 Then
Select Case position
Case ABE_LEFT: msg = msg &
"vlevo. "
Case
ABE_TOP: msg = msg & "nahoře. "
Case
ABE_RIGHT: msg = msg & "vpravo. "
Case ABE_BOTTOM: msg = msg &
"dole. "
End Select
End If
Next
End Select
MsgBox msg
End Sub
|