Seite 1 von 1

Benutze Icon und Systray

Verfasst: 04.09.2014 08:26
von stab
Hallo,

überall werden Resourcen eingespart, sind sie auch noch so gering.
Ich schließe mich mal an, bevor die EU hier einen Riegel vorschiebt.

Wenn ich ein ICON für das Fenster einbinde, benutze ich die Compiler Option: "Benutze Icon:"
Damit vergrößert sich das Executable verständlicherweise um die Größe des Icons.

Benutze ich Systray-Funktionen mit dem gleichen Icon, binde ich es ein zweites Mal mit DataSection ein.
Damit habe ich das gleiche Icon zweimal eingebunden, also vergrößert sich das Executable zweimal um die Größe des Icons.

Ist das richtig oder kann ich das einmal eingebundene Icon für beide Zwecke nutzen?

Re: Benutze Icon und Systray

Verfasst: 04.09.2014 09:05
von RSBasic
Du kannst natürlich auch das selbe Icon, welches du in den Compiler-Optionen eingebunden hast, für beide nutzen, aber dafür wird ein bisschen WinAPI benötigt. Falls es plattformunabhängig sein soll, dann musst du wohl zweimal das Icon einbinden.
Falls die WinAPI-Verwendung kein Problem sein sollte:

Code: Alles auswählen

EnableExplicit

If OpenWindow(0, 0, 0, 500, 400, "Window", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
  AddSysTrayIcon(1, WindowID(0), GetClassLongPtr_(WindowID(0), #GCL_HICON))
  SysTrayIconToolTip(1, "My Application")
  
  Repeat
  Until WaitWindowEvent() = #PB_Event_CloseWindow
EndIf
Bevor du den Beispielcode testest, wähle zuerst ein Icon in den Compiler-Optionen aus.

Re: Benutze Icon und Systray

Verfasst: 04.09.2014 09:16
von ts-soft
Der funktioniert bei mir nicht, also noch einen:

Code: Alles auswählen

EnableExplicit

Define icon
icon = LoadIcon_(GetModuleHandle_(0), 1)

OpenWindow(0, #PB_Ignore, #PB_Ignore, 640, 480, "")
AddSysTrayIcon(1, WindowID(0), icon)
SysTrayIconToolTip(1, "My Application")

Repeat
  Select WaitWindowEvent()
    Case #PB_Event_CloseWindow
      Break
  EndSelect
ForEver

Re: Benutze Icon und Systray

Verfasst: 04.09.2014 09:30
von stab
Danke,

bei mir funktionieren beide Codes.

PB 5.22

Re: Benutze Icon und Systray

Verfasst: 04.09.2014 09:54
von ts-soft
Bei mir jetzt auch :oops: :wink: