Platforms to show: All Mac Windows Linux Cross-Platform

/Win/Windows System Tray with Icon file/Windows System Tray with Icon file
Feedback.

Function:
You find this example project in your Plugins Download as a Realbasic project file within the examples folder: /Win/Windows System Tray with Icon file/Windows System Tray with Icon file
This example is the version from Tue, 11th Jan 2010.
Notes: Last modified: Tue, 11th Jan 2010
Class Window1
Inherits Window
// Controls
ControlInstance
End ControlInstance
ControlInstance
Sub Action() Handles Event

call e.InstallEvent self
if e.add then
list.addrow "Added icon."
else
list.addrow "Failed to add icon."
end if

running=true
End Sub
End ControlInstance
ControlInstance
Sub Action() Handles Event
if e.Remove then
list.addrow "Removed tray."
else
list.addrow "Failed removed tray."
end if

running=false
End Sub
End ControlInstance
ControlInstance
Function MouseDown(X As Integer, Y As Integer) As Boolean Handles Event
dim c as color

c=col
if selectcolor(c,"Select color:") then
col=c
update
if running then
if e.modify then
list.insertrow 0,"Modified icon"
else
list.insertrow 0,"Can't modify icon"
end if
end if
refresh
end if
End Function
Sub Paint(g As Graphics) Handles Event
g.foreColor=col
g.fillrect 0,0,g.width,g.height
End Sub
End ControlInstance
ControlInstance
End ControlInstance
ControlInstance
End ControlInstance
ControlInstance
End ControlInstance
ControlInstance
Sub TextChange() Handles Event
e.BalloonTitle=eBalloonTitle.text
End Sub
End ControlInstance
ControlInstance
Sub TextChange() Handles Event
e.BalloonText=eBalloonText.text
End Sub
End ControlInstance
ControlInstance
Sub TextChange() Handles Event
e.Tooltip=eTooltip.text
End Sub
End ControlInstance
ControlInstance
Sub Action() Handles Event
if e.Modify then
list.addrow "Changed tray."
else
list.addrow "Failed change tray."
end if

End Sub
End ControlInstance

// Properties
Protected Dim e As MyWindowssystemtray
Protected Dim col As color
Protected Dim running As boolean

// Event implementations
Sub Close()
e.RemoveEvent
quit
End Sub
Sub Open()

col=rgb(255,0,0)

e=new MyWindowsSystemtray
e.ID=12345678
e.Tooltip=eTooltip.text
e.BalloonText=eBalloonText.text
e.BalloonTitle=eBalloonTitle.text
e.BalloonMode=0
update
End Sub

// Methods
Sub update()
// copy icon to app folder

call e.SetIconFile(GetFolderItem("someicon.ico"),0)

End Sub
End Class

Class MyWindowsSystemTray
Inherits Object
// Event implementations
Sub ContextMenu(id as integer, MouseX as integer, MouseY as integer)
w "ContextMenu",id,Mousex,Mousey
End Sub
Sub BalloonUserClick(id as integer, MouseX as integer, MouseY as integer)
w "BalloonUserClick",id,Mousex,Mousey
End Sub
Sub BalloonTimeout(id as integer, MouseX as integer, MouseY as integer)
w "BalloonTimeout",id,Mousex,Mousey
End Sub
Sub BalloonHide(id as integer, MouseX as integer, MouseY as integer)
w "BalloonHide",id,Mousex,Mousey
End Sub
Sub KeySelected(id as integer, MouseX as integer, MouseY as integer)
w "KeySelected",id,Mousex,Mousey
End Sub
Sub Selected(id as integer, MouseX as integer, MouseY as integer)
w "Selected",id,Mousex,Mousey
End Sub
Sub PopupOpen(id as integer, MouseX as integer, MouseY as integer)
w "PopupOpen",id,Mousex,Mousey
End Sub
Sub BalloonShow(id as integer, MouseX as integer, MouseY as integer)
w "BalloonShow",id,Mousex,Mousey
End Sub
Sub MouseRightButtonUp(id as integer, MouseX as integer, MouseY as integer)
w "MouseRightButtonUp",id,Mousex,Mousey
End Sub
Sub MouseRightButtonDown(id as integer, MouseX as integer, MouseY as integer)
w "MouseRightButtonDown",id,Mousex,Mousey
End Sub
Sub MouseRightButtonDoubleClick(id as integer, MouseX as integer, MouseY as integer)
w "MouseRightButtonDoubleClick",id,Mousex,Mousey
End Sub
Sub MouseMove(id as integer, MouseX as integer, MouseY as integer)
w "MouseMove",id,Mousex,Mousey
End Sub
Sub MouseMiddleButtonDoubleClick(id as integer, MouseX as integer, MouseY as integer)
w "MouseMiddleButtonDoubleClick",id,Mousex,Mousey
End Sub
Sub MouseMiddleButtonDown(id as integer, MouseX as integer, MouseY as integer)
w "MouseMiddleButtonDown",id,Mousex,Mousey
End Sub
Sub MouseMiddleButtonUp(id as integer, MouseX as integer, MouseY as integer)
w "MouseMiddleButtonUp",id,Mousex,Mousey
End Sub
Sub MouseLeftButtonDown(id as integer, MouseX as integer, MouseY as integer)
w "MouseLeftButtonDown",id,Mousex,Mousey
End Sub
Sub MouseLeftButtonDoubleClick(id as integer, MouseX as integer, MouseY as integer)
w "MouseLeftButtonDoubleClick",id,Mousex,Mousey
End Sub
Sub MouseLeftButtonUp(id as integer, MouseX as integer, MouseY as integer)
w "MouseLeftButtonUp",id,Mousex,Mousey
End Sub

// Methods
Sub w(s as string,id as integer,x as integer, y as integer)
window1.list.insertrow 0,s+" in System Tray Icon ID "+str(id)+" x: "+str(x)+" y: "+str(y)
End Sub
End Class

Class App
Inherits Application
End Class


See also:




Links
MBS Realbasic Plugins - Pfarrgemeinde Ministranten Nickenich