Seite 1 von 4
Message über Startleiste, wie bei ICQ
Verfasst: 26.04.2007 10:33
von chrizl
Hey Leute,
tut mir leid, das ich schon wiedermal nerve, aber ich brauche unbedingt einige Informationen dazu, wie man wie bei ICQ so ein kleines "POPUP" unten rechts über der Uhr in der Startleiste erzeugt.
Ich hab schon alles durchsucht und irgendwie nicht das gefunden, was ich will.
Also ich bin dabei, ein kleines Tool zu basteln, was später aus einer MySQL-DB Daten auslesen soll.
Dazu wird in bestimmten Zeitabständen eine Verbindung aufgebaut zu einem SQL-Server, aus dem dann Benutzerbezogen Daten ausglesen werden.
Sobald neue Daten vorhanden sind, sollen diese unten als Nachricht angezeigt werden, also z. B. so ein kleines gelbes "Fenster", was dann kurz hoch fährt, eine Info gibt und wieder runter fährt.
Halt genauso, wie bei ICQ, wenn sich jmd. einloggt.
Falls es schon einen passenden Thread dazu gibt, den ich übersehen habe, bittet ich darum, dass ihr mir dann eben den Link per PN schickt und diesen hier meinetwegen löscht oder schließt.
Also vielen Dank schon einmal im vornerein.
Verfasst: 26.04.2007 10:39
von edel
Was genau bekommst du nicht hin ? Das Fenster , die Position,
das Ein/Ausblenden oder sql ?
Verfasst: 26.04.2007 10:43
von chrizl
naja, halt in erster linie wollte ich schauen, wie ich das genau angehen muss, das ich halt ein hauptprogramm im hintergrund am laufen habe.
die abfrage mit sql und co ist erst einmal nicht so wichtig, für mich zählt nur, das ich dieses kleine "fenster" halt automatisch hochfahren lassen kann und wieder runterfahren lassen kann.
und da ich halt mehr mit php in letzter zeit programmiere, als mit pb, brauch ich da halt nen bisserl hilfe bei.
die position ermitteln und vorgeben ist eigentlich auch kein problem, mein gedanke war halt nur, ob es da eine bestimmte funktion für gibt, die ich noch nicht kenne/gefunden habe.
Verfasst: 26.04.2007 10:45
von Tafkadasom2k5
Jetzt mal rein Gedankentechnisch:
Width/Height des Desktops raussuchen, Message-Fenster Width/Height abziehen. Daten auf Fenster platzieren, Fenster transparent machen, Fenster erscheinen lassen (hier war ein relativ guter Code von DW, mit dem das leicht ging), dann Fenster wieder in Transparenz verschwinden lassen.
Insgesamt würde ich dafür 3 For-Schleifen mit Window-Events, machen:
Eine beim Einfaden,
eine beim Bleiben und
eine beim Ausfaden.
Dabei arbeitest du mit Sleep(), um die Fade-Geschwindigkeit zu regulieren.
Gr33tz
Tafkadasom2k5
Verfasst: 26.04.2007 10:53
von chrizl
okay, so ähnlich habe ich mir das jetzt gerade auch schon gedacht, halt nur, das es leicht ruckelt...
aber mit sleep, das wäre ne gute idee..
danke schonmal, ich probier es gleich mal aus..
Verfasst: 26.04.2007 11:13
von edel
Mit sleep wuerde ich ueberhaupt nichts machen , wenn dann ueber einen
Thread oder Timer
Beispiel :
Code: Alles auswählen
SHAppBarMessage_(#ABM_GETTASKBARPOS,Taskbar.APPBARDATA)
#cx = 160
#cy = 140
hWnd = OpenWindow(0,Taskbar\rc\Right-#cx,Taskbar\rc\top-#cy,#cx,#cy,"leer",#PB_Window_BorderLess|#PB_Window_Invisible)
StickyWindow(0,1)
style = GetWindowLong_(hWnd,#GWL_EXSTYLE)
SetWindowLong_(hWnd,#GWL_EXSTYLE,style|#WS_EX_LAYERED)
SetWinBackgroundColor(hWnd,$404080)
n = 0
SetLayeredWindowAttributes_(hWnd,0,n,#LWA_ALPHA)
HideWindow(0,0)
SetTimer_(hWnd,0,10,0)
Repeat
event = WaitWindowEvent()
If Not e
If event = #WM_TIMER
SetLayeredWindowAttributes_(hWnd,0,n,#LWA_ALPHA)
If dir
If n = 0
dir = 0
Continue
EndIf
n - 1
Else
If n = 255
e = ElapsedMilliseconds()
dir = 1
Continue
EndIf
n + 1
EndIf
EndIf
ElseIf ElapsedMilliseconds() - e > 5000
e = 0
EndIf
Until event = #PB_Event_CloseWindow
Verfasst: 26.04.2007 11:33
von chrizl
argh.. das ist super..
genauso meinte ich das...
nur, das ich im moment nicht wirklich wusste, wie ich das anstellen soll
vielen vielen dank

Verfasst: 26.04.2007 12:17
von Little John
2
edel:
Bei mir kommt die Fehlermeldung
Code: Alles auswählen
SetWinBackgroundColor() is not a function, array, macro or linked list.
Abgesehen davon ist der Code sehr edel!
Gruß, Little John
Verfasst: 26.04.2007 12:29
von edel
Oh da hab ich nicht aufgepasst, loeschen oder pbosl skinwin installieren

Re: Message über Startleiste, wie bei ICQ
Verfasst: 26.04.2007 12:41
von Kiffi
<OT>
chrizl hat geschrieben:tut mir leid, das ich schon wiedermal nerve

Deine letzte Frage war im September.
chrizl hat geschrieben:und da ich halt mehr mit php in letzter zeit programmiere, als mit pb...

das allerdings kann zum sofortigen Ausschluss aus diesem Board führen.
Was sagt denn Dein Vater dazu?
</OT>
Grüße ... Kiffi