vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Top-Preis! AP-Access-Tools-CD Volume 1  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB & Windows API
Re: Eigenschaften der Windows-Taskleiste 
Autor: ModeratorMartoeng (Moderator)
Datum: 13.09.05 12:31

Hier mal ein Beispielcode, der funktioniert. Ist aus einem Tipp hier im archiv:

Option Explicit
' zunächst die API-Deklaration
Private Declare Function SHAppBarMessage Lib _
"shell32.dll" (ByVal dwMessage As Long, _
pData As APPBARDATA) As Long

' und die APPBAR-Struktur
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

Public Enum tBarAlign
tbaLinks = 0
tbaRechts = 1
tbaOben = 2
tbaUnten = 3
End Enum

Public Function IsTaskBarOnTop() As Boolean
Dim AppBar As APPBARDATA
Dim State As Long

Const ABM_GETSTATE = &H4
Const ABS_ALWAYSONTOP = &H2

AppBar.cbSize = Len(AppBar)
State = SHAppBarMessage(ABM_GETSTATE, AppBar)

IsTaskBarOnTop = (State = ABS_ALWAYSONTOP)
End Function


Public Function TaskBarAlign() As tBarAlign
Dim AppBar As APPBARDATA
Dim lResult As Long
Dim tbHeight As Long
Dim tbWidth As Long

Const ABM_GETTASKBARPOS = &H5

lResult = SHAppBarMessage(ABM_GETTASKBARPOS, AppBar)

' Größe der Taskbar
With AppBar.rc
tbHeight = .Bottom - .Top
tbWidth = .Right - .Left
End With

' Anhand der Größe die Position ermitteln
If tbHeight < Screen.Height / Screen.TwipsPerPixelY Then
If AppBar.rc.Top <= 0 Then
TaskBarAlign = tbaOben
Else
TaskBarAlign = tbaUnten
End If
Else
If AppBar.rc.Left <= 0 Then
TaskBarAlign = tbaLinks
Else
TaskBarAlign = tbaRechts
End If
End If
End Function


' Höhe in Pixel
Public Function TaskBarHeight() As Long
Dim AppBar As APPBARDATA
Dim lResult As Long
Const ABM_GETTASKBARPOS = &H5

lResult = SHAppBarMessage(ABM_GETTASKBARPOS, AppBar)

' Größe der Taskbar
With AppBar.rc
TaskBarHeight = .Bottom - .Top
End With
End Function

' Breite in Pixel
Public Function TaskBarWidth() As Long
Dim AppBar As APPBARDATA
Dim lResult As Long
Const ABM_GETTASKBARPOS = &H5

lResult = SHAppBarMessage(ABM_GETTASKBARPOS, AppBar)

' Breite der Taskbar
With AppBar.rc
TaskBarWidth = .Right - .Left
End With
End Function

Private Sub Command1_Click()
'wenn horizontal unten:
Me.Height = Screen.Height - Me.TaskBarHeight * Screen.TwipsPerPixelY
Me.Top = 0
Me.Left = 0
Me.Width = Screen.Width
End Sub


vbarchiv.dll (Freeware), Tutorials uvm. auf http://www.martoeng.com.
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Eigenschaften der Windows-Taskleiste1.711alluju09.09.05 09:29
Re: Eigenschaften der Windows-Taskleiste1.092ModeratorMartoeng09.09.05 15:29
Re: Eigenschaften der Windows-Taskleiste1.032alluju13.09.05 07:02
Re: Eigenschaften der Windows-Taskleiste944ModeratorMartoeng13.09.05 09:54
Re: Eigenschaften der Windows-Taskleiste942alluju13.09.05 12:14
Re: Eigenschaften der Windows-Taskleiste939ModeratorMartoeng13.09.05 12:22
Re: Eigenschaften der Windows-Taskleiste1.117ModeratorMartoeng13.09.05 12:31
Re: Eigenschaften der Windows-Taskleiste1.008alluju13.09.05 12:32
Re: Eigenschaften der Windows-Taskleiste963alluju13.09.05 12:45

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel