SysTray, blöde Icons, blödes Fenster & Task blöd

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
Xaby
Beiträge: 2144
Registriert: 12.11.2005 11:29
Wohnort: Berlin + Zehdenick
Kontaktdaten:

SysTray, blöde Icons, blödes Fenster & Task blöd

Beitrag von Xaby »

Ich weiß, ich hab's in der Hilfe gelesen.
LoadImage() und Icons gehen nur. Aber wieso? Und wie kann ich onTheFly ein Icon im Speicher erstellen, so dass ich das Icon im Programm generieren kann.
So wie es der Taskmanager macht, der kann doch auch den Status anzeigen oder haben die vorgeränderte Icons eingebaut?
Hab auch schon mal die Spiele aus dem Try irgendwo im Forum hier gesehen. Die konnten ja Pong und Snake auch irgendwie darstellen.

Genauso würde mich interessieren, wie ich mein Programm so starten kann, dass ich kein Fenster in der Taskleiste sehe.
Ist es als Child zu einem TryIcon oder so möglich?

Und was passiert, wenn ich das Fenster schließe? Muss ich mir alle wichtigen Fenstereinstellungen etc. extra im Speicher merken, da das Fenster weg ist, wenn ich es schließe. Oder kann ich es unsichtbar machen? Was ist die vernünftigste Vorgehensweise?

Code: Alles auswählen

For i=0 To 2
CreateImage(i,32,32) ; Welche Größe sollte es haben?
StartDrawing(ImageOutput(i))
Box(0,0,32,32,RGB(i*70,250-20*i,120-30*i))
DrawText(5,5,Str(i),0,RGB(i*70,250-20*i,120-30*i))
StopDrawing()
Next


If OpenWindow(0, 100, 150, 300, 100, "PureBasic - SysTray Example", #PB_Window_SystemMenu)
   
  
  AddSysTrayIcon(1, WindowID(0), ImageID(0))
  AddSysTrayIcon(2, WindowID(0), ImageID(1))
  SysTrayIconToolTip(1, "Icon 1")
  SysTrayIconToolTip(2, "Icon 2")
  
  Repeat
    Event = WaitWindowEvent()
    
    If Event = #PB_Event_SysTray
      If EventType() = #PB_EventType_LeftDoubleClick
        MessageRequester("SysTray", "Left DoubleClick on SysTrayIcon "+Str(EventGadget()),0)
        
        ChangeSysTrayIcon (EventGadget(), ImageID(2))
        SysTrayIconToolTip(EventGadget(), "Changed !")
      EndIf
      
    EndIf
  Until Event = #PB_Event_CloseWindow
  
EndIf
Kinder an die Macht http://scratch.mit.edu/
Benutzeravatar
Xaby
Beiträge: 2144
Registriert: 12.11.2005 11:29
Wohnort: Berlin + Zehdenick
Kontaktdaten:

Beitrag von Xaby »

Okay, ich vergess immer wieder das CodeArchive.

CreateIcons.pb

Scheint cool zu sein. Das kann Icons machen. :allright:
Kinder an die Macht http://scratch.mit.edu/
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

Der Taskmanager lädt die Icon-Resource, der erstellt nichts on the fly :mrgreen:
Man kann nicht nur die Resourcen des eigenen Programmes laden, sondern
auch die eines x-beliebigen Programmes oder DLL. Was meinste wo die
ToolbarIcons in PB herkommen.

Fenster vor der Taskbar verstecken werde ich hier auch nicht zum 45x
posten, lerne lieber die Suche zu nutzen, hab keine Lust dauernd meine
Beiträge für andere rauszusuchen, weil diese oft zu Faul sind :freak:
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
Xaby
Beiträge: 2144
Registriert: 12.11.2005 11:29
Wohnort: Berlin + Zehdenick
Kontaktdaten:

Beitrag von Xaby »

Hab doch schon geschrieben, das ich was im CodeArchive gefunden habe, das macht genau das, was ich wollte.

:allright:
Kinder an die Macht http://scratch.mit.edu/
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

Xaby hat geschrieben:Hab doch schon geschrieben, das ich was im CodeArchive gefunden habe, das macht genau das, was ich wollte.

:allright:
Macht aber nicht das was der Taskmanager macht, wie Du oben beschrieben
hast :mrgreen:
LoadLibrary_ und LoadIcon_ API und schon haste das Icon. Die Nummer 1
ist normallerweise das Applikationsicon.
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
HeX0R
Beiträge: 3042
Registriert: 10.09.2004 09:59
Computerausstattung: AMD Ryzen 7 5800X
96Gig Ram
NVIDIA GEFORCE RTX 3060TI/8Gig
Win11 64Bit
G19 Tastatur
2x 24" + 1x27" Monitore
Glorious O Wireless Maus
PB 3.x-PB 6.x
Oculus Quest 2 + 3
Kontaktdaten:

Beitrag von HeX0R »

Hier gibts übrigens noch ein Beispiel, wie man ein Icon im Tray scrollen kann.
Ist zwar noch für PB3.94 gemacht, aber sollte einfach anzupassen sein.
Antworten