Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Software-Projekte der Mitglieder (https://www.delphipraxis.net/26-software-projekte-der-mitglieder/)
-   -   TaskbarListComponents für Windows 7 (https://www.delphipraxis.net/153782-taskbarlistcomponents-fuer-windows-7-a.html)

MarcoWarm 16. Aug 2010 09:22


TaskbarListComponents für Windows 7
 
Liste der Anhänge anzeigen (Anzahl: 3)
Hallo miteinander,

wir verwenden seit einiger Zeit in unseren Projekten die Windows 7 TaskbarList Interfaces. Daher haben wir uns entschlossen die dabei entstandenen Komponenten öffentlich und unverbindlich zur Verfügung zu stellen.
Die Komponenten sollen das Arbeiten mit den neuen Features so angenehm und Delphi-like wie möglich machen.
Das Package ist in folgende Komponenten aufgeteilt:
  • TTaskbarListProgress - verwaltet die Progressbar im Taskbareintrag (auch als Verbindung zu bestehender Progressbar geeignet)
  • TTaskBarListOverlayIcon - Ein Overlayicon für die Anwendung festlegen
  • TTaskBarListThumbButtons - Thumbbuttons für die Anwendung verwalten
  • TTaskbarListFormTab - ein beliebiges Formular dem Taskbareintrag der Anwendung hinzufügen
  • TTaskbarListControlTab - ein beliebiges Control dem Taskbareintrag der Anwendung hinzufügen

Demonstration gefällig?

Eine kleine Kurzanleitung zu den Komponenten (in englisch) gibts hier: http://code.google.com/p/theunknowno...ListComponents

Das Package gibt es hier:
https://github.com/chaosben/theunkno...ts/TaskBarList
oder als git-checkout
https://github.com/chaosben/theunknownones

Das Package benötigt die aktuelle JEDI Windows API Library von hier:
http://jedi-apilib.svn.sourceforge.n...b/jwapi/trunk/
oder als svn-checkout
https://jedi-apilib.svn.sourceforge....b/jwapi/trunk/

chaosben 21. Aug 2010 06:46

AW: TaskbarListComponents für Windows 7
 
Eine kleine Demo gibts hier. Demnächst folgen hoffentlich noch einige.

RWarnecke 21. Aug 2010 07:15

AW: TaskbarListComponents für Windows 7
 
Hallo Benjamin,

ich habe mir die Kompo's noch nicht angeschaut. Aber warum braucht Ihr die JEDI Windows API Library dazu und sakura bei diesen Kompo's nicht ?

himitsu 21. Aug 2010 07:58

AW: TaskbarListComponents für Windows 7
 
Hab bei Sakura nicht reingesehn, aber vermutlich nutzt der eigene Header, bzw. hat sie direkt reinkopiert.

Delphi selber kennt solche "modernen" APIs recht selten.

xZise 21. Aug 2010 10:53

AW: TaskbarListComponents für Windows 7
 
Moin,
habe hier nicht rein geschaut, aber ich finde es etwas umständlich, dass man nur mithilfe einer ProgressBar die in der Taskleiste steuern kann. Was ist wenn keine äquivalente Progressbar auf der Form ist? z.B. man downloadet sich mehrere Dateien und will den "Durschnittsfortschritt" anzeigen ;)

Zumindest müsste das so bei Firefox der Fall sein. (Bevor jemand sagt das braucht doch keiner :mrgreen: )

MfG
Fabian

mirage228 21. Aug 2010 11:20

AW: TaskbarListComponents für Windows 7
 
Hey,

Will es gerade mal testen, und da stimmen einige Dinge bei der Installation unter Delphi 2010 nicht:

- Zwei Komponentenpackages (RegExp und CommonTools) werden eingebunden, aber nicht verwendet und auch nicht mitgeliefert
- Zwei nicht mitgelieferte Units (einmal eine uSysTools) werden referenziert, aber nicht verwendet
[ - In dem JEDI Package wird die passende DWM-API Unit nicht im passenden Package eingebunden und daher auch nicht mit dem Package compiliert und ins DCU Verzeichnis kopiert (Die Unit wird dann natürlich nicht gefunden). ]

Werde gleich erstmal testen und mich dann nochmal melden.

Viele Grüße

chaosben 21. Aug 2010 21:06

AW: TaskbarListComponents für Windows 7
 
Zitat:

Zitat von xZise (Beitrag 1043910)
dass man nur mithilfe einer ProgressBar die in der Taskleiste steuern kann

Nanu, wie kommst du denn da drauf? :shock: Einfach keine Progressbar zuweisen und die Parameter direkt in der Komponente setzen. :)

Zitat:

Zitat von mirage228 (Beitrag 1043916)
Will es gerade mal testen, und da stimmen einige Dinge bei der Installation unter Delphi 2010 nicht:

Die ersten beiden Punkte sollten jetzt gefixt sein. Der dritte Punkt ist leider ein Fehler in der JWAPI, den ich mangels D2010 gerade nicht fixen kann. Aber der geneigte Entwickler weiß ja, wie man sich hilft. :)

xZise 22. Aug 2010 19:47

AW: TaskbarListComponents für Windows 7
 
Zitat:

Zitat von chaosben (Beitrag 1043995)
Zitat:

Zitat von xZise (Beitrag 1043910)
dass man nur mithilfe einer ProgressBar die in der Taskleiste steuern kann

Nanu, wie kommst du denn da drauf? :shock: Einfach keine Progressbar zuweisen und die Parameter direkt in der Komponente setzen. :)[...]

Ich dachte wegen:
Zitat:

TTaskbarListProgress - verbindet eine Delphi Progressbar mit dem Taskbareintrag der Anwendung
MfG
Fabian

Dezipaitor 22. Aug 2010 20:24

AW: TaskbarListComponents für Windows 7
 
Zitat:

[ - In dem JEDI Package wird die passende DWM-API Unit nicht im passenden Package eingebunden und daher auch nicht mit dem Package compiliert und ins DCU Verzeichnis kopiert (Die Unit wird dann natürlich nicht gefunden). ]
Die Packages sind nur dazu da die Datei JwaWindows.dcu zu kompilieren. Wenn du die JWAxxx.pas Dateien einzeln nutzen willst, dann kannst du den Pfad direkt Delphi mitteilen.
Der Vorteil von JwaWindows.dcu ist, dass ein Rebuild des Projektes, worin JwaWindows.dcu eingebunden ist, nicht alle JwaXXX.pas Dateien neu erstellen muss (DCU wird niemals neu erstellt).

Im Package existieren die einzelnen Dateien nur, damit man prüfen kann, ob es keine Kompilierfehler gibt.

chaosben 22. Aug 2010 21:51

AW: TaskbarListComponents für Windows 7
 
Zitat:

Zitat von xZise (Beitrag 1044213)
Ich dachte wegen:
Zitat:

TTaskbarListProgress - verbindet eine Delphi Progressbar mit dem Taskbareintrag der Anwendung

oh .. sorry ... dann war das ein falscher Zungenschlag ... äh ... ein leichter Vertipper. :) Marco bügelt das demnächst aus.

mirage228 22. Aug 2010 22:55

AW: TaskbarListComponents für Windows 7
 
Zitat:

Zitat von Dezipaitor (Beitrag 1044229)
Zitat:

[ - In dem JEDI Package wird die passende DWM-API Unit nicht im passenden Package eingebunden und daher auch nicht mit dem Package compiliert und ins DCU Verzeichnis kopiert (Die Unit wird dann natürlich nicht gefunden). ]
Die Packages sind nur dazu da die Datei JwaWindows.dcu zu kompilieren. Wenn du die JWAxxx.pas Dateien einzeln nutzen willst, dann kannst du den Pfad direkt Delphi mitteilen.
Der Vorteil von JwaWindows.dcu ist, dass ein Rebuild des Projektes, worin JwaWindows.dcu eingebunden ist, nicht alle JwaXXX.pas Dateien neu erstellen muss (DCU wird niemals neu erstellt).

Im Package existieren die einzelnen Dateien nur, damit man prüfen kann, ob es keine Kompilierfehler gibt.

Ah okay, das war mir nicht bewusst. Da ich keine Dokumentation dazu gefunden habe, dachte ich, das Package mit den einzelnen Units wäre dafür vorgesehen... Aber nun gut, dann konfiguriere ich den direkt Pfad mit den PAS-Dateien :)

Viele Grüße

MarcoWarm 23. Aug 2010 05:43

AW: TaskbarListComponents für Windows 7
 
Zitat:

Zitat von mirage228 (Beitrag 1044257)
Da ich keine Dokumentation dazu gefunden habe, dachte ich, das Package mit den einzelnen Units wäre dafür vorgesehen... Aber nun gut, dann konfiguriere ich den direkt Pfad mit den PAS-Dateien

Ja mit Dokumentationen ist das Projekt leider nicht gut bestückt... Da werden sicher noch freiwillige gesucht :shock: Oder ihr schaut mal in dem dazugehörigen Blog nach: http://blog.delphi-jedi.net/category...s-api-headers/

Was das direkte einkompilieren von PAS-Dateien angeht, solltet ihr evtl. auf zwei Compiler-Defines achten:
Delphi-Quellcode:
{$DEFINE USE_DELPHI_TYPES}
{$DEFINE DYNAMIC_LINK}
Das Define Use_Delphi_Types ist dazu gedacht, daß die JWAPI die Typen aus der Windows.pas statt aus der JwaWinType.pas nimmt.
Das Define Dynamic_Link gibt an, daß die Bibliotheken dynamisch und nicht statisch eingebunden werden. Ohne dieses Define würde die Anwendung unter XP Fehler bringen, da z.B. die DWMApi.dll nicht gefunden wird.

Dezipaitor 23. Aug 2010 08:51

AW: TaskbarListComponents für Windows 7
 
Zitat:

Zitat von mirage228 (Beitrag 1044257)
Ah okay, das war mir nicht bewusst. Da ich keine Dokumentation dazu gefunden habe, dachte ich, das Package mit den einzelnen Units wäre dafür vorgesehen... Aber nun gut, dann konfiguriere ich den direkt Pfad mit den PAS-Dateien :)

Viele Grüße

Mach bitte keine Witze :)
Das steht schon ewig hier:
http://blog.delphi-jedi.net/2007/12/...p-the-library/

MarcoWarm 23. Aug 2010 08:59

AW: TaskbarListComponents für Windows 7
 
Jetzt gibts auch Links zu zwei Demo-Videos im ersten Post.

MarcoWarm 27. Okt 2011 06:04

AW: TaskbarListComponents für Windows 7
 
Die TTaskbarListTab Komponenten haben jetzt endlich eine Hint (aka Tooltip) Property. Irdendwie ist mir die über ein Jahr "durch die Lappen gegangen" ...
verfügbar in der neuesten SVN Revision

a.def 13. Dez 2016 16:42

AW: TaskbarListComponents für Windows 7
 
Ich weiß der letzte Beitrag ist etwas älter. Aber kann man das Package noch irgendwo herunterladen?
Ich benutze ein älteres XE2 und da gibt es noch kein TTaskBar.

MarcoWarm 13. Dez 2016 16:52

AW: TaskbarListComponents für Windows 7
 
Hi,

der letzte Stand der Komponente ist hier zu finden:

https://github.com/chaosben/theunkno...ts/TaskBarList

Am besten forkt euch das ganze Repository, da Benjamin (chaosben) und ich kaum noch in Delphi aktiv sind. Dann könnt ihr auch eigene Entwicklungen einbringen und bei Bedarf 'nen Pull Request schicken.

Gruß
Marco

a.def 13. Dez 2016 18:06

AW: TaskbarListComponents für Windows 7
 
Ist es gestattet wenn ich frage wie man die JEDI Windows API Library installiert?
Kenne bisher nur die JVCL und JCL und da gibt es diesen schicken installer :lol:

MarcoWarm 15. Dez 2016 06:19

AW: TaskbarListComponents für Windows 7
 
Dafür gibt es m.E. keinen Installer. Lediglich das SVN Repository unter: https://sourceforge.net/projects/jedi-apilib/

himitsu 15. Dez 2016 09:31

AW: TaskbarListComponents für Windows 7
 
Der Installer ist auch nicht wirklich nötig, da hier keine visuellen Komponenten enthalten sind.

Suchpfad zum Downloadverzeichnis bei Delphi eintragen oder die nötigen Dateien direkt in die Projektverwaltung aufnehmen,
Unit in Uses eintragen, Funktion aufrufen und fertig.


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:28 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz