Kombinieren von ListIcon- und TreeGadget?

Für allgemeine Fragen zur Programmierung mit PureBasic.
sverson
Beiträge: 19
Registriert: 06.02.2005 01:42
Wohnort: Deutschland

Kombinieren von ListIcon- und TreeGadget?

Beitrag von sverson »

Weiss jemand wie man das lösen kann?

Bild

Also entweder ein TreeGadget mit weiteren Spalten oder ein ListIconGadget mit ausblendbaren Zeilen...

In dem zum Beispiel gehörenden Programm funktioniert die 1. Spalte 100% wie ein TreeGadget* der Rest wie ein ListIconGadget inkl. XP Themes. Das scheint also nicht (oder sehr aufwändig) von Hand geschnitzt zu sein.

* Nodes offnen/schließen sich bei klick auf [+]/[-] und Checkbox ändert sein Aussehen bei MouseOver...

;-) sverson
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

worauf genau willst du hinaus?

ich verstehe dein problem nicht ganz...

@ALL
bitte nicht wieder rumraten, was er meinen könnte.
wenn jemand ne frage hat, sollte er sie auch darlegen können.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Benutzeravatar
edel
Beiträge: 3667
Registriert: 28.07.2005 12:39
Computerausstattung: GameBoy
Kontaktdaten:

Beitrag von edel »

Kaeru Gaman hat geschrieben:worauf genau willst du hinaus?

ich verstehe dein problem nicht ganz...

@ALL
bitte nicht wieder rumraten, was er meinen könnte.
wenn jemand ne frage hat, sollte er sie auch darlegen können.
Da gibt es nix zum raten , die Frage war ja wohl eindeutig ...
eine Loesung habe ich allerdings noch nicht.
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

> die Frage war ja wohl eindeutig ...

achja? dann erklär du sie mir doch, ich bin dann wohl zu blöd dafür.

> Kombibieren von ListIcon- und TreeGadget?
> Weiss jemand wie man das lösen kann?
> Also entweder ein TreeGadget mit weiteren Spalten oder ein ListIconGadget mit ausblendbaren Zeilen...

ich seh da keine eindeutige frage drin. mir ist nicht eingängig, worauf er hinaus will.

wenn ich rumraten soll...
meint er vielleicht, dass er in beiden fensterbereichen stets die gleiche information anzeigen will?
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
sverson
Beiträge: 19
Registriert: 06.02.2005 01:42
Wohnort: Deutschland

Beitrag von sverson »

Kaeru Gaman hat geschrieben:ich verstehe dein problem nicht ganz...
sverson hat geschrieben:...ein TreeGadget mit weiteren Spalten oder ein ListIconGadget mit ausblendbaren Zeilen...
Wenn das so einfach ist, daß da keine Frage drin zu erkennen ist, dann bitte ich um ein einfaches Codeschnipselchen - ich bin nämlich zu blöd das herauszufinden ;-)

____________
P.S.
GOTO Dieter Nuhr (www.nuhr.de)
Zuletzt geändert von sverson am 15.08.2006 11:50, insgesamt 2-mal geändert.
Benutzeravatar
PureLust
Beiträge: 1145
Registriert: 21.07.2005 00:02
Computerausstattung: Hab aktuell im Grunde nur noch 'nen Lenovo Yoga 2 Pro im Einsatz.
Wohnort: am schönen Niederrhein

Beitrag von PureLust »

@Kaeru:

Schau Dir mal das Bild an ... das dürfte mehr sagen als 1000 Worte. ;)

Darin sieht man halt sehr gut, dass es eine Kombi aus einem TreeGadget (in der linke Spalte) und einem ListIconGadget (Tabelle mit mehreren, in der Breite veränderbaren Spalten) ist.
[Dynamic-Dialogs] - komplexe dynamische GUIs einfach erstellen
[DeFlicker] - Fenster flimmerfrei resizen
[WinFX] - Window Effekte (inkl. 'durchklickbares' Window)
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

ja ok, so langsam verstehe ich das.

mein problem war vor allem, dass in dem textinhalt kein hinweis auf die struktur enthalten ist.
ich bin das treegadget eben von explorer her gewöhnt, auch das ist eine kombi, und da steht rechts der komplette inhalt eines einzelnen elementes, von daher war ich etwas verwirrt. mir hat sich aus dem ersten posting nicht erschlossen, wie die kombination genau aussehen sollte. die zuordnung von genau einem treegadget-element zu genau einem listenelement ist wohl etwas ungewöhnlich, deshalb bin ich nicht drauf gekommen, worauf du hinaus willst.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Benutzeravatar
Leonhard
Beiträge: 602
Registriert: 01.03.2006 21:25

Beitrag von Leonhard »

Um herauszufinden, ob es ein ListViewGadget oder ein TreeGadget ist würde ich die Windows-Classe herausfinden. Dies geht folgendermaßen:
1. lade das Tool hier herunter: DEAD LINK
2. starte das Tool und das Programm, was dir dieses sonderbare element anzeigt.
3. Fahre mit der Maus über das Gadget und in dem Tool wird nun die Windows-Klasse angezeigt. Etwa sowas:
Press CTRL-ALT-F to pause the display.

>>>>>>>>>>>> Window Details <<<<<<<<<<<<<
Title: Binary_Reader
Class: CabinetWClass
Size: X: -4 Y: -4 W: 1032 H: 746

>>>>>>>>>>> Mouse Details <<<<<<<<<<<
Screen: X: 433 Y: 376
Cursor ID: 5

>>>>>>>>>>> Pixel Color Under Mouse <<<<<<<<<<<
RGB: Hex: 0xEBE9ED Dec: 15460845

>>>>>>>>>>> Control Under Mouse <<<<<<<<<<<
Size: X: 252 Y: 100 W: 772 H: 612
Control ID: 1
ClassNameNN: SysListView321
Text: FolderView

>>>>>>>>>>> Status Bar Text <<<<<<<<<<<
(1): 17 Objekt(e)
(2): 41,8 KB
(3): Eigener Computer

>>>>>>>>>>> Visible Window Text <<<<<<<<<<<
D:\Leonhard\Programmieren\Binary_Reader
D:\Leonhard\Programmieren\Binary_Reader
FolderView

>>>>>>>>>>> Hidden Window Text <<<<<<<<<<<
17 Objekt(e)
Du wirst dabei in der Gruppe 'Control Under Mouse' einen Eintrag 'ClassNameNN' finden. Dort steht die Windows-Classe des Gadgets. Bei mir ist dies ein ListIconGadget.

Ich Tippe darauf, das das dort benutzte ein TreeGadget (Classe: SysTreeView32) ist, wobei eine SysHeader32 -Classe oben angehängt wurde.[/code]
Zuletzt geändert von Leonhard am 31.07.2018 14:21, insgesamt 2-mal geändert.
sverson
Beiträge: 19
Registriert: 06.02.2005 01:42
Wohnort: Deutschland

Beitrag von sverson »

@Leonhard: Danke für die Hilfe.
Leonhard hat geschrieben:Ich Tippe darauf, das das dort benutzte ein TreeGadget (Classe: SysTreeView32) ist...
Seltsam, seltsam... es ist keine Kombination aus SysHeader, SysListview & SysTreeView sondern beim ersten anklicken kommt ein "TShellTree" ohne Box drumrum - und "Control ist hidden". Mit viel Glück bekommt man die Box und dann nennt sich das Ding "TVirtualStringTree", wobei der Header in den ersten beiden Spalten "TShellTree" zurückgibt. In der 3. Spalte springt es nach verlassen des Textes (FilePath) innerhalb des Headers auf "TListBox". Bei FileSize bleibt "TListBox" und bei LastModified erscheint dann TGroupBox.
zwischen den Headerblöcken blitzt sogar manchmal ein "TPanel auf"!

Da scheint also ordentich gebastelt worden zu sein - funktioniert aber prima!

Für mich wird das Fragezeichen bezüglich der Programmierung allerdings um so größer...


;-) sverson
Zuletzt geändert von sverson am 14.08.2006 17:55, insgesamt 1-mal geändert.
sverson
Beiträge: 19
Registriert: 06.02.2005 01:42
Wohnort: Deutschland

Beitrag von sverson »

TVirtualStringTree -> Delphi -> VirtualTreeview -> PB????

:wink: sverson
Antworten