Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
Nitroxis
Anmeldungsdatum: 27.02.2008 Beiträge: 300 Wohnort: Irgendwo...
|
Verfasst am: 06.07.2008, 13:38 Titel: Baum mit allen Handles erstellen |
|
|
Hallo,
Ich wollte einen Baum (TreeView) erstellen, der alle Handles auflistet. In der ersten Ebene sollen die Fenster stehen die keine "parents" haben. Dann In diese Ebene kommen dann die Kindfenster des Fensters. In die nächste dann wieder die Kindfenster des Kindfensters und so weiter.
Wie man die das alles herausfindet wieß ich. Man muss da ja nur mit EnumWindows, EnumChildWindows, GetParent ... arbeiten, nur ich weiß nicht wie ich soeinen theoretisch "Endlosen Baum" macht. Denn er soll ja auch noch die Kinder des Kindes des Kindes eines Fenster enthalten.
Weiß jemand wie man soetwas machen kann? |
|
Nach oben |
|
 |
28398
Anmeldungsdatum: 25.04.2008 Beiträge: 1917
|
Verfasst am: 06.07.2008, 13:42 Titel: |
|
|
Das geht mit dem TreeView Control der Windows API.
Das habe ich mal im ICivHelper versucht, das Ergebnis waren 1200 Zeilen Code für eine statische Baumdarstellung von knapp 30 Einträgen... machs besser mit nem Listview und Leerzeichen, sparst dir damit wirklich ne ganze Menge Arbeit...
Oder schreib einfach nen eigenen TreeView für fbGFX, dass eine tiefensortierte verkettete Liste verarbeitet würde dafür einmal 1k Code veranschlagen (hab sowas ähnliches mal versucht @ fbSysMon) |
|
Nach oben |
|
 |
Nitroxis
Anmeldungsdatum: 27.02.2008 Beiträge: 300 Wohnort: Irgendwo...
|
Verfasst am: 06.07.2008, 13:46 Titel: |
|
|
Ja gut ok. Nur wie mache ich das, dass die Liste immer weiter nach Kindern des Handles sucht? Ich habs bis jetzt nur so, das er die Hauptfenster auflistet und dann die Kinder. Jedoch listet er nicht die Kinder der Kinder auf...
Mein Ziel ist es ja alle aufzulisten, bis das Kind keine Kinder mehr hat.
edit:
Das ganze soll dann so ähnlich wie ein Explorer sein. |
|
Nach oben |
|
 |
Mao
Anmeldungsdatum: 25.09.2005 Beiträge: 4409 Wohnort: /dev/hda1
|
Verfasst am: 06.07.2008, 15:30 Titel: |
|
|
Rekursion sollte hierfür denk ich mal ganz gut geeignet sein. _________________ Eine handvoll Glück reicht nie für zwei.
--
 |
|
Nach oben |
|
 |
Nitroxis
Anmeldungsdatum: 27.02.2008 Beiträge: 300 Wohnort: Irgendwo...
|
Verfasst am: 06.07.2008, 17:10 Titel: |
|
|
Ja, ok, probiere ich mal aus! |
|
Nach oben |
|
 |
Elektronix
Anmeldungsdatum: 29.06.2006 Beiträge: 742
|
Verfasst am: 06.07.2008, 18:15 Titel: |
|
|
Ich habe hier
http://www.freebasic-portal.de/index.php?s=fbporticula&mode=show&id=598
Das Programm für eine verkettete Liste bzw. einen Baum vorgestellt, einschließlich rekursive Funktionsaufrufe. Die Listenelemente sind zwar Strings, kannst sie aber leicht in Intereger- oder Handles umwandeln. Mußt halt das Prog entsprechend anpassen. _________________ Und die Grundgebihr is aa scho drin- DOS is jo nett. |
|
Nach oben |
|
 |
Nitroxis
Anmeldungsdatum: 27.02.2008 Beiträge: 300 Wohnort: Irgendwo...
|
Verfasst am: 06.07.2008, 19:29 Titel: |
|
|
Ok, es funktioniert bei mir jetzt soweit, nur kennt jemand soein Programm das die Fenster und ihre Kindfenster auflistet? Nur so zum vergleich, ob er das bei mir auch richtig anzeigt  |
|
Nach oben |
|
 |
28398
Anmeldungsdatum: 25.04.2008 Beiträge: 1917
|
Verfasst am: 06.07.2008, 20:47 Titel: |
|
|
Kannst du doch selbst nachschaun, indem du dir auch den Fenstetitel anzeigen lässt!?!?
Beispiel:
"Hmm, Fenster TaskManager, Child Window, Klasse Button, Titel "New Task..." , richtig!" |
|
Nach oben |
|
 |
|