Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Software-Projekte der Mitglieder (https://www.delphipraxis.net/26-software-projekte-der-mitglieder/)
-   -   Componentfinder / Handlefinder... (https://www.delphipraxis.net/20465-componentfinder-handlefinder.html)

SirThornberry 18. Apr 2004 14:40


Componentfinder / Handlefinder...
 
Liste der Anhänge anzeigen (Anzahl: 1)
Also nach dem ich vorhin den Post mit dem Transparenten Editor gelesen hab, dacht ich mir so das ich mein Programm eigentlich um diese Funktion erweitern könnte (Fenster transparent machen bzw. Blenden). Außerdem ist das Programm manchmal ganz nützlich um deaktivierte Buttons zu enablen oder um festzustellen welche Componenten in einem Programm verwendet wurden (Componenten die auch nen Handle haben).

Zur Handhabung: Man zieht einfach das Fadenkreuz über eine bestimmtes Fenster uns sieht dann das Handle und kann dementsprechend Aktion für für dieses Handle dann im Programm ausführen.

Um die Blendoptionen zu sehen muss einfach nur auf den Button "Alphablend >>" linkoben geklickt werden. Hatte leider keinen besseren Platz mehr dafür...

Freu mich über kritiken solange diese Sachlich bleiben

(der Part "Regeln" funktioniert nicht wirklich zuverlässig)

[Edit]
- Das mit den Regeln entfernt
- Alphablend ist nur verfügbar wenn es von Windows unterstützt wird (somit auch unter win98 lauffähig)
[/Edit]

einen Beitrag weiter unten gibts eine neue Version... (keine Erweiterung dieser Version sondern das ganze mit leichten Änderungen und Erweiterungen neu gebaut)

SirThornberry 3. Feb 2006 23:00

Re: Componentfinder...
 
Liste der Anhänge anzeigen (Anzahl: 1)
Wie ich heute festgestellt habe laden tatsächlich einige mein Programm herunter.. Da mir persönlich die Darstellung der Fenster bei der alten Version nicht zusagte hab ich das ganze mal neu gebaut.

Es werden jetzt alle Fenster unterhalb des obersten Parents angezeigt. Wenn man also einen Button localisiert so wird das Parentfenster des Buttons gesucht und dann von diesem Fenster aus die Hierarchy der Handles abgebildet in einer Baumstruktur.

Zweck des Programmes ist (da es ja auch im Thread der alten Version läuft) noch der gleiche.

Luckie 3. Feb 2006 23:39

Re: Componentfinder / Handlefinder...
 
Ich will dich ja nicht entmutigen aber guck dir das mal an: http://assarbad.net/de/news -> EDA 2.7 ;)

SirThornberry 4. Feb 2006 10:32

Re: Componentfinder / Handlefinder...
 
ach, da ist nix mit entmutigen. Wie geschrieben hab ich mich ja gewundert das es leute gibt die mein programm überhaupt runtergeladen haben (weil es ja programme gibt die das gleiche und noch viel mehr machen).
Ein kleinen Vorteil hat meine neue Version jedoch (ist wohl der einzige *g*). Und das ist das auflisten der Childs. Die Information welche Childs das Fenster hat und wie die Parents angeordnet sind ist manchmal doch recht nützlich wenn man ein Fenster automatich finden lassen will um zum Beispiel ein Prog fernzusteuern.

turboPASCAL 4. Feb 2006 11:21

Re: Componentfinder / Handlefinder...
 
Zitat:

Zitat von SirThornberry
Ein kleinen Vorteil hat meine neue Version [...] das ist das auflisten der Childs. [...]

Und genau so etwas habe ich schon lange gesucht.

Bug: Das "Blinken lassen" lässt bei transparenten Fenstern einen unschönen Ramen zurück. Und so ein Zielicon wäre ja auch noch nett. ;)

SirThornberry 4. Feb 2006 12:23

Re: Componentfinder / Handlefinder...
 
Liste der Anhänge anzeigen (Anzahl: 1)
- Das mit dem Zielicon wurde hinzugefügt

- Desweiteren gibt es jetzt eine Funktion um Quelltext zum finden dieses Fensters zu erzeugen.
Ich bin mir ziemlich sicher das in der Beschreibung im Programm einige Rechtschreibfehler sind. Wenn jemand diese lokalisiert -> Bitte melden damit ich diese beseitigen kann (bin nicht besondern gut in Sachen Rechtschreibung).

Der Effekt mit dem Blinken ist mir auch bereits aufgefallen. Ist leider nicht nur bei Transparenten fenstern so (Eigentlich führe ich ein "InvalidateRect" aus was das Fenster dazu bewegen soll den Bereich neu zu zeischnen was aber wohl nicht in jedem fall richtig funktioniert)

Hinweis für diejenigen die den Quelltext zum wiederfinden des Fensters nutzen wollen:
Wenn Ihr Beispielsweise ein Formular sucht dessen Klassenname "TForm1" ist so es nicht sehr ratsam den Quelltext zum suchen von "TForm1" erzeugen zu lassen weil es doch mehrere Anwendungen gibt welche diesen Klassennamen haben. In diesem Fall solltet ihr den Quelltext zum Finden für ein Childwindow des "TForm1" erzeugen lassen (in der Baumansicht ein Child in möglichst tiefer Ebene anklicken (je tiefer die Ebene destso wahrscheinlicher dass, das richtige Fenster gefunden wird)).
Dadurch findet ihr zwar dann erstmal das ChildFenster aber die wahrscheinlichkeit ist bedeutend größer das dieses Childfenster eben auf dem gesuchten Form ist. Da Ihr des weiteren wisst dass, das Childfenster zum Beispiel 3 Ebenen unter dem gewünschten TForm1 ist könnt ihr dann durch den Aufruf von "GetParent" an das Handle des gewünschten Forms kommen. (Bildliche Darstellung des ganzen folgt).

[Edit]
- Funktion zum erzeugen des Quelltext wurde ergänzt (es ganz aufrufe von Funktionen die nicht enthalten waren)
- Bild hinzugefügt, wie man das Handle eines Fensters bekommt dessen Hierarchy nicht eindeutig ist
[/Edit]

turboPASCAL 4. Feb 2006 17:52

Re: Componentfinder / Handlefinder...
 
Na, das ist ja mal was. :thumb: Bei der Version 2 ist wohl das Umranden der Fenster ferloren gegangen oder nicht gewollt ?

SirThornberry 4. Feb 2006 18:38

Re: Componentfinder / Handlefinder...
 
eher nicht gewollt denn wie bei dem Blinken (in V2) kam es bei der Umrandung (in V1) bei einigen Fenstern zu dem Effekt das einige Ränder nicht wieder entfernt werden.

turboPASCAL 4. Feb 2006 19:00

Re: Componentfinder / Handlefinder...
 
Hm schade, ist doch besser wenn man sieht welches Fenster man gerade unter dem Cursor hat. Manchmal ist es schwer bei einander liegende Fenster genau zu treffen...

SirThornberry 4. Feb 2006 20:49

Re: Componentfinder / Handlefinder...
 
OK, Selectierung ist wieder wie in der ersten Version vorhanden.


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:55 Uhr.
Seite 1 von 2  1 2      

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