Timer hochzählen
-
- Beiträge: 17389
- Registriert: 10.11.2004 03:22
jetzt mal ins blaue geraten (hab noch nie was in den systray gepackt)
das SysTrayIcon ist doch einem Image zugeordnet...
wenn du jetzt die uhr auf dieses Image malst, und dann das selbe Image erneut zuordnest,
könnte es im SysTray aktualisiert werden und aktueller zustand angezeigt....
das SysTrayIcon ist doch einem Image zugeordnet...
wenn du jetzt die uhr auf dieses Image malst, und dann das selbe Image erneut zuordnest,
könnte es im SysTray aktualisiert werden und aktueller zustand angezeigt....
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Der Weise weiß, dass er ein Narr ist.
Ich glaube deins funktioniert nicht Kaeru
Klar die Idee ist an sich gut, aber der Systray bzw AddSysTrayIcon() akzeptiert nur .ico sprich man bräuchte erstmal ne riesen Routine um überhaupt den Timer im richtigen Format darzustellen (kA wie sich das in Rechenzeit auswirkt), aber das viel größere Problem ist im Systray gibt's nur 'Images' in der Größe 16x16 und das ist glaubig nicht grad augenfreundlich
Klar die Idee ist an sich gut, aber der Systray bzw AddSysTrayIcon() akzeptiert nur .ico sprich man bräuchte erstmal ne riesen Routine um überhaupt den Timer im richtigen Format darzustellen (kA wie sich das in Rechenzeit auswirkt), aber das viel größere Problem ist im Systray gibt's nur 'Images' in der Größe 16x16 und das ist glaubig nicht grad augenfreundlich
-
- Beiträge: 17389
- Registriert: 10.11.2004 03:22
er sprach aber von systray...
nuja.. 16² ist schon recht winzig...
da wird digital nix, da passen nur vier zahlen hin, nicht mal der doppelpunkt (drittes von links)
als analog ginge das dann schon eher (zweites von rechts)

aber das mit dem aktualisieren müßte schon irgendwie gehen...
gibt doch schließlich ne menge tools, die im systray aktivität anzeigen...
nuja.. 16² ist schon recht winzig...
da wird digital nix, da passen nur vier zahlen hin, nicht mal der doppelpunkt (drittes von links)
als analog ginge das dann schon eher (zweites von rechts)

aber das mit dem aktualisieren müßte schon irgendwie gehen...
gibt doch schließlich ne menge tools, die im systray aktivität anzeigen...
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Der Weise weiß, dass er ein Narr ist.
Ich hatte hier http://www.purebasic.fr/german/viewtopi ... highlight= mal sowas in der Richtung getrieben.
Gruss
Helle
Gruss
Helle
Das Beispiel im Link macht ja nicht das was ich gefragt habe. Soll ja nicht einfach drüber liegen, sondern dazugefügt werden.D@nte hat geschrieben:0815 Lösung wäre wohl im Timerinterval den Fenstertitel zu aktualisieren (ist das überhaupt ne Fensteranwendung?!)
Ansonsten ggf hilft dir das weiter:
http://www.purearea.net/pb/CodeArchiv/W ... Taskbar.pb
das sieht zwar recht interessant aus, aber leider nicht das was ich wollte. So wie ich das hier sehe, muss die Windowsuhr aus einem Controllelement bestehen und nicht aus einem Icon.Helle hat geschrieben:Ich hatte hier http://www.purebasic.fr/german/viewtopi ... highlight= mal sowas in der Richtung getrieben.
Gruss
Helle
Ich kann zB. über das Handle und dem Befehl ShowWindow die Uhrzeit verstecken. Was mich halt vermuten lässt, dass es sich nicht um ein Icon handelt.
Code: Alles auswählen
#TASKBAR = "Shell_TrayWnd"
#ID_TRAY = $12F
#ID_CLOCK = $12F
Procedure.l Clock_Show_Hide(bShowHide.b)
Protected hWnd.l
hWnd = GetDlgItem_(FindWindow_(#TASKBAR, #Null), #ID_TRAY)
Debug hWnd
hWnd = GetDlgItem_(hWnd, #ID_CLOCK)
Debug hWnd
If hWnd = #Null
ProcedureReturn 0
EndIf
If bShowHide
ShowWindow_(hWnd, #SW_SHOW)
Else
ShowWindow_(hWnd, #SW_HIDE)
EndIf
UpdateWindow_(hWnd)
ProcedureReturn 1
EndProcedure
Clock_Show_Hide(#False)
Delay(3000)
Clock_Show_Hide(#True)
- Fluid Byte
- Beiträge: 3110
- Registriert: 27.09.2006 22:06
- Wohnort: Berlin, Mitte
Wie isn' hiermit:
Code: Alles auswählen
TrayWnd = FindWindow_("Shell_TrayWnd", 0)
TrayNofifyWnd = FindWindowEx_(TrayWnd,0,"TrayNotifyWnd",0)
GetWindowRect_(TrayNofifyWnd,wrc.RECT)
#OFFSETCY = 40
STX = wrc\left
STW = wrc\right - wrc\left
STH = wrc\bottom - wrc\top
MoveWindow_(TrayNofifyWnd,STX - #OFFSETCY,0,STW + #OFFSETCY,STH,1)
OpenWindow(0,0,0,320,240,"void",#PB_Window_SystemMenu | #PB_Window_ScreenCentered)
OpenWindow(1,STW,0,#OFFSETCY,STH,"",#WS_CHILD,TrayNofifyWnd)
CreateGadgetList(WindowID(1))
TextGadget(0,0,0,#OFFSETCY,STH,"00:00",#PB_Text_Border | #SS_CENTER | #SS_CENTERIMAGE)
SetGadgetColor(0,#PB_Gadget_BackColor,$808080)
SetGadgetColor(0,#PB_Gadget_FrontColor,#White)
SetTimer_(WindowID(0),0,1000,0)
Procedure WindowCallback(hWnd.l,uMsg.l,wParam.l,lParam.l)
Static Seconds, Minutes
Select uMsg
Case #WM_TIMER
Seconds + 1
If Seconds = 60 : Seconds = 0 : Minutes + 1 : EndIf
Time$ = RSet(Str(Minutes),2,"0") + ":" + RSet(Str(Seconds),2,"0")
SetGadgetText(0,Time$)
EndSelect
ProcedureReturn #PB_ProcessPureBasicEvents
EndProcedure
SetWindowCallback(@WindowCallback())
While WaitWindowEvent() ! #PB_Event_CloseWindow : Wend
MoveWindow_(TrayNofifyWnd,STX,0,STW,STH,1)
Windows 10 Pro, 64-Bit / Outtakes | Derek
-
- Beiträge: 17389
- Registriert: 10.11.2004 03:22