Files |  Tutorials |  Articles |  Links |  Home |  Team |  Forum |  Wiki |  Impressum

Aktuelle Zeit: Mi Jul 16, 2025 19:30

Foren-Übersicht » Programmierung » Allgemein
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 5 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Systemtray / Taskbar
BeitragVerfasst: Mo Jan 26, 2004 15:11 
Offline
DGL Member
Benutzeravatar

Registriert: Do Okt 09, 2003 15:28
Beiträge: 14
Wohnort: Bochum
Hi ihrs.

Ich programmiere zur Zeit einen Chatclient im Stil von ICQ und brauch zur technischen Umsetzung noch vier Informationen allgemeinerer Art. [nutze Delphi6]

1) Wie bekomme ich ein Icon in den Systemtray, das beim OnClick die Kontaktliste anzeigt und bei Rechtsklick ein Popup-Menu öffnet?

2) Zur Laufzeit erstelle ich mehrere ChatForms - jedes ist zur Kommunikation mit einem User gedacht.
Wie kann ich für ein solches Formular einen eigenen Eintrag in der Taskleiste erstellen, sodass man in Windows mit Alt+Tab zwischen den Fenstern hin-und-her-wechseln kann?

3) Wie kann man ein solches Fenster aufblinken lassen, sodass der Nutzer bei eingehenden Nachrichten auf dieselben hingewiesen wird.

4) Wie umgehe ich die Eintragung der Kontaktliste in die Taskleiste. (Die Liste ist mein Hauptformular und soll nur über das Icon im SystemTray erreichbar sein (siehe 1))

Hoffe, ihr habt da was für mich!
Hendrik


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Jan 26, 2004 15:38 
Offline
DGL Member
Benutzeravatar

Registriert: Mi Aug 20, 2003 09:15
Beiträge: 70
Wohnort: Italien
zu 1)
Wenn du die jedi-VCL hast (www.delphi-jedi.org), dann gibt es da eine Komponente namens JvTrayIcon; dieser kann man Popup-menus zuweisen (rechts/links-klicks), Events setzen(onclick) , die Icons animieren,...

2) könnte man lösen, indem man mehrere Prozesse laufen lässt (je 1 pro Sitzung). Ist aber eine nicht besonders elegante Lösung und kann sicher "schöner" gemacht werden

_________________
"Phantasie ist wichtiger als Wissen, denn Wissen ist begrenzt" Albert Einstein


Zuletzt geändert von tyr am Mo Jan 26, 2004 15:42, insgesamt 1-mal geändert.

Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Jan 26, 2004 15:40 
Offline
DGL Member

Registriert: Do Mai 30, 2002 18:48
Beiträge: 1617
Zitat:
1) Wie bekomme ich ein Icon in den Systemtray, das beim OnClick die Kontaktliste anzeigt und bei Rechtsklick ein Popup-Menu öffnet?

Das Ding heisst Taskbar Notification Area oft auch nur mit TNA bezeichnet. Such einfach mal im Netz, du wirst hunderte von Tutorias finden. Auch die MSDN gibt massig infos her.

Zitat:
3) Wie kann man ein solches Fenster aufblinken lassen, sodass der Nutzer bei eingehenden Nachrichten auf dieselben hingewiesen wird.

Code:
  1. BOOL FlashWindow(
  2.  
  3.     HWND hWnd,  // handle to window to flash  
  4.     BOOL bInvert    // flash status
  5.    );


@2,4: Müsste über Window Styles gehen - SetWindowLong / GetWindowLong, etc.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Jan 26, 2004 15:45 
Offline
DGL Member
Benutzeravatar

Registriert: Do Dez 05, 2002 10:35
Beiträge: 4234
Wohnort: Dortmund
Zu 1. Siehe Anhang. Das ist ein kleines Programm welches genau das macht was du möchtest. Evtl musst du die Methode "WMIconCallback" noch ein wenig um deine Aktionen erweitern.

Zu 2. Siehe selben Anhang. Die Methode CreateParams im Form2. Das musst du in jedes Fenster einfügen welches du von deiner Anwendung "loslösen" möchtest.

3. Da gibt es eine Methode FlashWindow. Als Handle kannst du das von einem Fenster oder das von der Application übergeben.

4. Da kannst du dich eigentlich auch an den Anhang halten. Allerdings funktioniert das noch nicht 100%tig, da sobald das kleine Fenster auf ist kommt auch der taskbareintrag der Application wieder hoch. Aber prinziepiell musst du ein kleines temporäres Hauptfenster erstellen und das erzeugt das TrayIcon und erstellt die anderen Fenster etc. So wird deine UserListe wieder ein unterfenster. Allerdings musst du mal schauen wie du es genau machst. Es geht bestimmt irgendwie nur wie das genau geht, dass der Anwendungsbutton IMMER aus der Taskleiste verschwunden ist, weiß ich auch nicht genau.


Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Danke & ExplorerPrefixes
BeitragVerfasst: Mo Jan 26, 2004 18:32 
Offline
DGL Member
Benutzeravatar

Registriert: Do Okt 09, 2003 15:28
Beiträge: 14
Wohnort: Bochum
Wie immer schnelle und hilfreiche Antworten, die keiner weiteren Nachfrage bedürfen! :D Danke, danke, danke! Dann kann's ja jetzt losgehen mit dem Chat *freu*

Vielleicht noch eine Frage zu einem anderen Themenkomplex.
Im Explorer gibt es bestimmte Prefixes, die ein festgelegtes Programm aufrufen. Beispiele: "mailto:emailaddy" oder "emule:wasauchimmer". Weiss jemand, wie man ein solches Prefix für sein Programm definieren kann?
Das wäre superhilfreich für eine Webbrowser-Integration meines Chats. Man könnte dann in eine Webcommunity Links wie <a href="hechat:Escudo">Nachricht an Escudo schreiben</a> einbauen.

Danke für die schnellen Antworten!
Hendrik


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 5 Beiträge ] 
Foren-Übersicht » Programmierung » Allgemein


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 6 Gäste


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
cron
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.009s | 14 Queries | GZIP : On ]