Wenn es Sie interessiert, wie man ein Programm
definiert, das beim Laden keine Form aufbaut, sondern lediglich ein Symbol in die
Task-Leiste von Windows95/98 bzw. WindowsNT 4.0 integriert und erst nach einem Klick auf
dieses Symbol ein Ereignis gestartet wird, dann können Sie mit nachfolgenden Anweisung
ein solches Programm schreiben. Öffnen Sie als
erstes ein neues VB-Projekt und schreiben Sie in den Abschnitt Allgemein/Deklarationen
folgende Anweisungen
Option Explicit
Private Type NOTIFYICONDATA
cbSize As Long
hWnd As Long
uId As Long
uFlags As Long
ucallbackMessage As Long
hIcon As Long
szTipp As String * 64
End Type
Private Const NIM_ADD = &H0
Private Const NIM_MODIFY = &H1
Private Const NIM_DELETE = &H2
Private Const WM_MOUSEMOVE = &H200
Private Const NIF_MESSAGE = &H1
Private Const NIF_ICON = &H2
Private Const NIF_TIP = &H4
Private Declare Function Shell_NotifyIcon Lib
"shell32" Alias "Shell_NotifyIconA" (ByVal dwMessage As Long, pnid As
NOTIFYICONDATA) As Boolean
Dim t As NOTIFYICONDATA
Menüpunkte festlegen
Als nächstes definieren Sie mit dem Menü-Editor ein Menü für Ihre Form.
einen Menüpunkt "PopupMenu" anlegen
Caption=PopupMenu
Name=xx
Eingerückt dann die Abschnitte die später nach einem
rechten Mausklick auf das Symbol erscheinen sollen
Caption=Info
Name=Info
Caption=Ende
Name=Ende
Verlassen Sie den Menüeditor und weisen Sie, in dem Sie auf den entsprechenden Menüpunkt
klicken, den Menüpunkten folgendes zu.
Info/Click
Private Sub Info_Click()
Form2.Show 'läd die zweite form
End Sub
Ende/Click
Private Sub Ende_Click()
Unload Me
End
End Sub
Nun widmen wir uns wieder der Form1, die noch folgende zwei Prozeduren erhält.
Form1/Load
Private Sub Form_Load()
t.cbSize = Len(t)
t.hWnd = picture1(0).hWnd
t.uId = 1&
t.uFlags = NIF_ICON Or NIF_TIP Or NIF_MESSAGE
t.ucallbackMessage = WM_MOUSEMOVE
t.hIcon = picture1(0).Picture
t.szTipp = "Ihr Text der angezeigt wird, wenn Maus über dem Symbol steht." &
Chr$(0)
Shell_NotifyIcon NIM_ADD, t
Me.Hide
App.TaskVisible = False
End Sub
Form1/QueryUnload
Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
t.cbSize = Len(t)
t.hWnd = picture1(0).hWnd
t.uId = 1&
Shell_NotifyIcon NIM_DELETE, t
End Sub
Legen Sie jetzt folgende Objekte in der Form1 an.
Eine Picturebox, bei der Sie einige Eigenschaften modifizieren sollten.
Definieren sie ein Pictureobjekt und laden sie ein Bild (Icon)
Folgende Eigenschaften sind nun noch zu modifizieren
AutoSize=True
AutoRedraw=True
Appearance=0-Flat
Index=0
Dem Pictureobjekt geben Sie außerdem noch folgende Prozedur mit auf den Weg
Picture1/MouseMove
Private Sub picture1_MouseMove(Index As Integer, Button As Integer, Shift As Integer, X As
Single, Y As Single)
If Hex(X) = "1E3C" Then
Me.PopupMenu XX
End If
End Sub
Um ein weiteres Ereignis bei Mausklick auf unser Task-Leisten Symbol zu bekommen, definieren
Sie eine zweite Form und binden dort wieder ein Pictureobjekt ein (wenn Sie
wollen, suchen Sie sich ein schönes Motiv) oder denken Sie sich eine eigene
Funktionalität dieser Form aus.
Sie sollten aber auf alle Fälle einen Commandbutton definieren, der lediglich
nachfolgende Anweisung enthält.
Private Sub Command1_Click()
Form2.Hide 'blendet die zweite form wieder aus
End Sub
Desweiteren können Sie die Eigenschaften der Form2 noch folgendermaßen modifizieren.
Caption=""
ControlBox=False
MinButton=False
MaxButton=False
Das war es auch schon, ab sofort steht Ihnen die Task-Leiste offen. |