Seite 2 von 2
Verfasst: 16.02.2009 18:33
von Kaeru Gaman
naja... so sehr kann das ja nicht unterschiedlich sein....
ist zwar schon ewich her, dass ich was in der 3.30 geschrieben hab,
aber der verlinkte code ist ja auch nicht grad riesig.
es ist ja sogar nur ein simples Beispiel, wie man die SetWindowPos und GetWindowRect korrekt benutzt,
für den Update hat es ne simple Schleife, nicht mal nen Callback...
mal generell:
eine Einfügung unten in den Systray ist nicht gerade Anfänger-Stuff.
Verfasst: 16.02.2009 18:36
von BginnR
ja, ich wollte halt speziell sowas in der richtung mal probieren, mir den code anschauen, und dann kapieren

, aber irgendwie geht das ja ned.
Kann mir jemand vllt den source code für so ein bsp geben, ich habe gesucht, aber nix passendes gefunden
Verfasst: 16.02.2009 18:37
von TomS
Code: Alles auswählen
; English forum:
; Author: Crown/Danilo (updated for PB4.00 by blbltheworm)
; Date: 21. October 2002
; OS: Windows
; Demo: No
; ProgressBar in SystemTray - crown.
TrayWnd = FindWindow_("Shell_TrayWnd", 0)
TrayNofifyWnd = FindWindowEx_(TrayWnd, 0, "TrayNotifyWnd", 0)
GetWindowRect_(TrayNofifyWnd,win.RECT)
x=win\left : y=win\top
w=win\right-win\left : h=win\bottom-win\top
MessageRequester("Info", "Look at the clock in the systemtray", 0)
If OpenWindow(0,x,y,w,h, #PB_Window_BorderLess,"" )
CreateGadgetList(WindowID(0))
ProgressBarGadget(1,0,0,w,h,0,100,#PB_ProgressBar_Smooth)
SetWindowPos_(WindowID(0),#HWND_TOPMOST,0,0,0,0,#SWP_NOMOVE|#SWP_NOSIZE)
For x = 1 To 100
SetGadgetState(1,x)
Delay(50)
Next
EndIf
; IDE Options = PureBasic v4.00 (Windows - x86)
; Folding = -
Bin mir nicht sicher, ob #PB_ProgressBar_Smooth schon existiert unter 3.3, müsste aber eigentlich schon.
Bis auf OpenWindow() war nichts anzupassen, hab's aber nicht getestet, da ich grad kein 3.3 zur Hand habe.
Verfasst: 16.02.2009 18:38
von Andesdaf
für was so ein Beispiel?
für Timer in Systray?
oder was anderes?
Verfasst: 16.02.2009 18:40
von Kaeru Gaman
@TomS
ich bin mir nicht mal sicher, ob es in 3.3 überhaupt schon nen Progressbar gab...
@BginnR
ich schließe mich mal den Fragen an
>>> für was so ein Beispiel?
>>> für Timer in Systray?
>>> oder was anderes?
@Generell
wenn ich mir das Beispiel so angucke....
also ich finde das ganzschön unsauber, so Rückgabe-Structs on-the-fly im API-Aufruf zu erstellen...
das ist bestenfalls potthäßlich, wenn nicht sogar große Schlamperei.
&btw
eigentlich ging es um einen Timer, nicht um einen ProgressBar....
aber ich würde erst mal nen Timer mit sauberem Callback in nem kleinen extra Fensterchen realisieren, bevor ich den Tray vergewaltige.
Verfasst: 16.02.2009 18:46
von BginnR
nee,
halt so nen timer, wo ein symbol unten in der taskleiste erscheint, und wo man dann einstellen kann nach wieundwie viel min, stunden... ne nachricht kommt. + wo es die uhrzeit anzeigt.
Verfasst: 16.02.2009 18:50
von Fluid Byte
BginnR hat geschrieben:nee,
halt so nen timer, wo ein symbol unten in der taskleiste erscheint, und wo man dann einstellen kann nach wieundwie viel min, stunden... ne nachricht kommt. + wo es die uhrzeit anzeigt.
Willst du unserem Foren-Clown Konkurrenz machen oder was?
Gruß
JENS
Verfasst: 16.02.2009 18:58
von TomS
Eine Teaclock?
Das heißt die Restzeit bis zum nächsten Event soll
nicht im Systray/Taskleiste angezeigt werden, sondern nur wenn man auf das Symbol klickt?
Das wär ja dann nicht so schwer und ist auch sauber zu programmieren, ohne dass Kaeru Gaman sich wieder über 5 Jahre alte Codes echauffieren muss

Verfasst: 16.02.2009 19:02
von Kaeru Gaman
@Fluid
bitte etwas kühleren Kopf bewahren, auch bzw. gerade weil durch den Clown die Nerven blank liegen....
@BginnR
bitte darauf achten, etwas umfangreicher und genauer zu antworten.
Das ist hier ein (Fach-)Forum, kein Chat!
wenn du "nee" schreibst, mach bitte deutlich, worauf genau aus den vorhergehenden fünf postings sich das bezieht!
>> halt so nen timer, wo ein symbol unten in der taskleiste erscheint, und wo man dann einstellen kann nach wieundwie viel min, stunden... ne nachricht kommt. + wo es die uhrzeit anzeigt.
also, wie gesagt, ich würde mich erstmal damit auseinandersetzen, das mit einem extra fensterchen zu realisieren.
irgendeinen Inhalt in die Leiste einfügen und einen Timer sauber programmieren sind zwei paar Schuhe,
beides für sich eine Herausforderung für einen Anfänger.