Treeview mit Buttons

Grafische Primitive, XbaseParts und Darstellungsfragen allgemein.

Moderator: Moderatoren

Antworten
Benutzeravatar
Jan
Marvin
Marvin
Beiträge: 14641
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Hat sich bedankt: 21 Mal
Danksagung erhalten: 87 Mal
Kontaktdaten:

Treeview mit Buttons

Beitrag von Jan »

Hat jemand schon mal XbpPushButtons in einen Treeview eingebaut? Geht das überhaupt? Ich würde gerne 3 Buttons zu jedem Eintrag einbauen, wenn das geht.

Ich frage das prophylaktisch, bevor ich da zu viel Zeit reinstecke und dann merke, daß das alles Nonsens ist. :roll:

Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

Re: Treeview mit Buttons

Beitrag von AUGE_OHR »

Jan hat geschrieben:Hat jemand schon mal XbpPushButtons in einen Treeview eingebaut? Geht das überhaupt? Ich würde gerne 3 Buttons zu jedem Eintrag einbauen, wenn das geht.
mir ist nicht ganz klar "wo" du "3 Buttons zu jedem Eintrag" haben willst.

einen Node würde man ja mit :AddItem() anfügen ... sollen da 3 Button´s mit rein ?
gruss by OHR
Jimmy
Benutzeravatar
Jan
Marvin
Marvin
Beiträge: 14641
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Hat sich bedankt: 21 Mal
Danksagung erhalten: 87 Mal
Kontaktdaten:

Re: Treeview mit Buttons

Beitrag von Jan »

Jimmy,

genau so.

Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15688
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: Treeview mit Buttons

Beitrag von brandelh »

Hi,

dann müsste man den "Node" als "Parent" angeben und für genügend Platz sorgen,
aber ob es geht ?
Gruß
Hubert
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

Re: Treeview mit Buttons

Beitrag von AUGE_OHR »

Hi,
brandelh hat geschrieben:dann müsste man den "Node" als "Parent" angeben und für genügend Platz sorgen,
aber ob es geht ?
ich fürchte nein, den der "Node" ist ja kein XbPart sondern ein activex
Object. Es gibt auch kein Hwnd für "Node", also denke ich das man keinen "Parent" zur verfügung hat.

ob es vielleicht mit ownerdraw möglich wäre, oder geht das überhaupt ?
wenn ich unter http://msdn.microsoft.com/de-de/library ... S.80).aspx das so sehe
haben wir nur die 1st Gruppe von ownerdraw fähigen Parts ? (ok ist für .NET)

aber nun mal zum "Design" der Idee ob man es nicht "anders" machen könnte ?
wie wäre den die rechte Maustaste und ein Pop-Up Menu ?
gruss by OHR
Jimmy
Benutzeravatar
Martin Altmann
Foren-Administrator
Foren-Administrator
Beiträge: 16502
Registriert: Fr, 23. Sep 2005 4:58
Wohnort: Berlin
Hat sich bedankt: 111 Mal
Danksagung erhalten: 48 Mal
Kontaktdaten:

Re: Treeview mit Buttons

Beitrag von Martin Altmann »

Nun,
man kann ja in dem Node eine Grafik anzeigen! Wenn man nun also eine Grafik mit drei Buttons malt und dann abfängt, auf welchen Bereich der Grafik geklickt wurde (erstes, zweites, drittes Drittel), weiß man, welcher Button gewählt wurde.
Wenn man das perfekt machen will, braucht man natürlich nicht eine, sondern 10 Grafiken, um alle Zustände anzeigen zu können:
  • Kein "Knopf" ist eingedrückt/markiert.
  • Maus schwebt über dem linken "Knopf"
  • Maus schwebt über dem mittleren "Knopf"
  • Maus schwebt über dem rechten "Knopf"
  • Maus drückt auf den linken "Knopf"
  • Maus drückt auf den mittleren "Knopf"
  • Maus drückt auf den rechten "Knopf"
  • Der linke "Knopf" ist markiert (hat den Fokus)
  • Der mittlere "Knopf" ist markiert (hat den Fokus)
  • Der rechte "Knopf" ist markiert (hat den Fokus)
Aber ich meine, so was mal bei einem Beispiel von Diego (wem sonst :D ) gesehen zu haben...

Viele Grüße,
Martin
:grommit:
Webseite mit XB2.NET und ausschließlich statischem Content in Form von HTML-Dateien: https://www.altem.de/
Webseite mit XB2.NET und ausschließlich dynamischem Content in Form von in-memory-HTML: https://meldungen.altem.de/

Mitglied der XUG Osnabrück
Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
Jan
Marvin
Marvin
Beiträge: 14641
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Hat sich bedankt: 21 Mal
Danksagung erhalten: 87 Mal
Kontaktdaten:

Re: Treeview mit Buttons

Beitrag von Jan »

Moin Leute,

Danke für all die Gedanken, die Ihr eingeworfen habt. Und die leider meine Befürchtungen bestätigt haben. Nur ein paar Anmerkungen dazu:

- XbpTreeView kann kein Ownerdrawing, Till will sich das aber mal ansehen, wie aufwändig das ist.
- Mit Grafiken geht schlecht. Denn wie ist das da mit Themes? Und ich bräuchte ja noch 3 Bilder für hover.
- Klar, Diego ist da ein Ass drin, den Treeview zu verbiegen. Ich bin mit seinen Beispielen aber nie wirklich klargekommen. Und Buttons hat er glaube ich noch nicht umgesetzt.

Ich denke ich muß das anders machen. Das ich über den :marked-Slot einen kleinen Bereich daneben aufbaue mit ein wenig Detailinfos zu dem jeweiligen Eintrag und den 3 Buttons. Mal schauen, wie das aussieht. Und ob das von der Handhabung her für den User praktikabel ist.

Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

Re: Treeview mit Buttons

Beitrag von AUGE_OHR »

Jan hat geschrieben:- XbpTreeView kann kein Ownerdrawing, Till will sich das aber mal ansehen, wie aufwändig das ist.
ich denke es geht nicht mit MsComCtl.OCX v6.x
Jan hat geschrieben:- Mit Grafiken geht schlecht. Denn wie ist das da mit Themes?
Theme passt auch nicht mit v6.x
Jan hat geschrieben:Und ich bräuchte ja noch 3 Bilder für hover.
Also nun ...
Jan hat geschrieben:- Klar, Diego ist da ein Ass drin, den Treeview zu verbiegen. Ich bin mit seinen Beispielen aber nie wirklich klargekommen. Und Buttons hat er glaube ich noch nicht umgesetzt.
ich habe auch nichts in meiner Sammelung gefunden, aber Diego hat eine Treeview Class.
Jan hat geschrieben:mit ein wenig Detailinfos zu dem jeweiligen Eintrag und den 3 Buttons.
also ich komme mir immer noch vor wie mit den 3 Muscheln ... ich weiss immer noch nicht was ich 3 Button´s machen sollen ?

Auswahl -> Pop-Up Menu
Info -> Tooltip ?
gruss by OHR
Jimmy
Benutzeravatar
Martin Altmann
Foren-Administrator
Foren-Administrator
Beiträge: 16502
Registriert: Fr, 23. Sep 2005 4:58
Wohnort: Berlin
Hat sich bedankt: 111 Mal
Danksagung erhalten: 48 Mal
Kontaktdaten:

Re: Treeview mit Buttons

Beitrag von Martin Altmann »

Hallo Jan,
Diego hat das mit einer Checkbox gemacht - und die ist eine Grafik (so weit ich mich erinnere)!
Aber was soll das überhaupt bringen? Was willst Du erreichen? Ich glaube nicht, dass das Treeview das "richtige" Control für Deinen Wunsch ist...

Viele Grüße,
Martin
:grommit:
Webseite mit XB2.NET und ausschließlich statischem Content in Form von HTML-Dateien: https://www.altem.de/
Webseite mit XB2.NET und ausschließlich dynamischem Content in Form von in-memory-HTML: https://meldungen.altem.de/

Mitglied der XUG Osnabrück
Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
Jan
Marvin
Marvin
Beiträge: 14641
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Hat sich bedankt: 21 Mal
Danksagung erhalten: 87 Mal
Kontaktdaten:

Re: Treeview mit Buttons

Beitrag von Jan »

Moin Jimmy und Martin,

der Treeview ist schon das richtige Element für mich. Der passt perfekt zu dem, was ich anzeigen möchte. Ich stelle nur das komplette Programm im Moment auf eine etwas flexiblere Bedienung um. Und habe durchgängig hinter nahezu allen Angaben 3 Buttons, um 3 überall gleiche Aktionen auszuführen zu können. Und damit das überall gleich ist (der User soll halt überall das gleiche Bedienkonzept haben), möchte ich diese 3 Buttons auch zu jedem Eintrag im Treeview anbieten. Von daher sind die ansich korrekten Ideen mit einem Kontextmenü usw. zwar eigentlich richtig, passen in diesem speziellen Fall aber leider nicht wegen der fehlenden Durchgängigkeit. Auch eine über das ganze Programm bestehende Toolbar mit den passenden Funktionen würde mir nicht weiterhelfen, weil das in diesem speziellen Fall schlichtweg zu kompliziert zu bedienen ist.

Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

Re: Treeview mit Buttons

Beitrag von AUGE_OHR »

Martin Altmann hat geschrieben:Diego hat das mit einer Checkbox gemacht - und die ist eine Grafik (so weit ich mich erinnere)!
meinst du CheckTV ?

die Checkboxes ist eine Property* vom MsComCtl.OCX auf dem ja das XbpTreeview() basiert,
aber es wird uns von Alaska ja nicht angeboten ...*http://msdn.microsoft.com/de-de/library ... S.80).aspx

wenn man nun .NET benutzen würde ... so aber muss man sich mit dem begnügen was man hat.
ich denke da an die TreeNode.Tag-Eigenschaft, sowas wie :cargo, ob man da einen Codeblock
ablegen könnte.

Ich habe mir mal Diego´s Treeview Class angesehen und denke seine "Taktik" zu erkennen:
mit :itemMarked := {| oItem, aRect, self | ... } muss identifiziert werden welches gerade den
"Focus" hat und seine Rechteck Masse des Item = Node. mit :lbDblClick hätte ich dann das
:itemSelected(), aber das :lbDown ist noch "frei" !

man hätte also den Node, das XbpTreeViewItem-Objekt, das markiert wurde und man hätte die
:Tag Property des Object ...

:-k

eine andere Idee geht Richtung Thread und Pop-up. du übergibts die :itemMarked Parameter im
Codeblock an einen Thread ala Tooltip. Im Thread müsste du dann zusehen das ein Pop-up "auf"
oder "neben" dem NodeItem erscheint was deine 3 Button´s enthält.

Ich "denke" das du wohl möglich per Keyboard die 3 Button´s bedienen kannst, also würde ich
den Thread mit einer verzögerrung :Starttime := SECONDS()+0.1 starten damit bei navigieren
mit dem Cursor nicht immer was "aufpoppt".
gruss by OHR
Jimmy
Benutzeravatar
Martin Altmann
Foren-Administrator
Foren-Administrator
Beiträge: 16502
Registriert: Fr, 23. Sep 2005 4:58
Wohnort: Berlin
Hat sich bedankt: 111 Mal
Danksagung erhalten: 48 Mal
Kontaktdaten:

Re: Treeview mit Buttons

Beitrag von Martin Altmann »

Hallo Jimmy,
AUGE_OHR hat geschrieben:meinst du CheckTV ?
yup.

Viele Grüße,
Martin
:grommit:
Webseite mit XB2.NET und ausschließlich statischem Content in Form von HTML-Dateien: https://www.altem.de/
Webseite mit XB2.NET und ausschließlich dynamischem Content in Form von in-memory-HTML: https://meldungen.altem.de/

Mitglied der XUG Osnabrück
Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
Jan
Marvin
Marvin
Beiträge: 14641
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Hat sich bedankt: 21 Mal
Danksagung erhalten: 87 Mal
Kontaktdaten:

Re: Treeview mit Buttons

Beitrag von Jan »

Ich habe von Diego auch noch den mit farbigen Einträgen und den mit Drag and Drop-Funktionalität. Den mit den Farben hatte ich mal ausprobiert, weil das sehr gut zu dem Projekt passte. Hab das aber leider nie wirklich ans Laufen bekommen.

Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

Re: Treeview mit Buttons

Beitrag von AUGE_OHR »

Jan hat geschrieben:Den mit den Farben hatte ich mal ausprobiert, weil das sehr gut zu dem Projekt passte. Hab das aber leider nie wirklich ans Laufen bekommen.
Das sollte leicht sein, den Node hat ja die Property BackColor und ForeColor aber das sagt uns Alaska ja nicht
Node_Color.JPG
Node_Color.JPG (64.9 KiB) 9896 mal betrachtet
probiere doch mal

Code: Alles auswählen

oNode:setProperty('ForeColor',AutomationTranslateColor( GRA_CLR_WHITE,.f.))
oNode:setProperty('BackColor',AutomationTranslateColor( GraMakeRGBColor({031,153,255}),.f.))
gruss by OHR
Jimmy
Benutzeravatar
Jan
Marvin
Marvin
Beiträge: 14641
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Hat sich bedankt: 21 Mal
Danksagung erhalten: 87 Mal
Kontaktdaten:

Re: Treeview mit Buttons

Beitrag von Jan »

AUGE_OHR hat geschrieben:probiere doch mal

Code: Alles auswählen

oNode:setProperty('ForeColor',AutomationTranslateColor( GRA_CLR_WHITE,.f.))
oNode:setProperty('BackColor',AutomationTranslateColor( GraMakeRGBColor({031,153,255}),.f.))
Leider funktioniert das nicht, da :setProperty() unter Xbase++ nicht vom Treeview unterstützt wird.

Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

Re: Treeview mit Buttons

Beitrag von AUGE_OHR »

Jan hat geschrieben:Leider funktioniert das nicht, da :setProperty() unter Xbase++ nicht vom Treeview unterstützt wird.
mal mit dem XbpTreeViewItem() versucht, den das ist der Node (nicht den Tree)
gruss by OHR
Jimmy
Benutzeravatar
Jan
Marvin
Marvin
Beiträge: 14641
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Hat sich bedankt: 21 Mal
Danksagung erhalten: 87 Mal
Kontaktdaten:

Re: Treeview mit Buttons

Beitrag von Jan »

Jimmy,

ist schon klar. Aber wie gesagt: Das geht nicht!

Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

Re: Treeview mit Buttons

Beitrag von AUGE_OHR »

hi,
Jan hat geschrieben:ist schon klar. Aber wie gesagt: Das geht nicht!
Es muss gehen.
Ich greife zwar direkt auf MsComCtl.OCX zu, aber auch die XbpTreeView() Class muss die Nodes Property haben.
über die Item Property von Nodes kommst du dann zum Node und da geht es dann
MS_TREE_FARBE.JPG
MS_TREE_FARBE.JPG (17.03 KiB) 9770 mal betrachtet
gruss by OHR
Jimmy
Benutzeravatar
Jan
Marvin
Marvin
Beiträge: 14641
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Hat sich bedankt: 21 Mal
Danksagung erhalten: 87 Mal
Kontaktdaten:

Re: Treeview mit Buttons

Beitrag von Jan »

AUGE_OHR hat geschrieben:Es muss gehen.
Wenn Du das sagst. Gib mir den Weg vor, und ich setze das sofort um.

Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
ij1972
Rookie
Rookie
Beiträge: 17
Registriert: Di, 11. Sep 2012 14:08

Re: Treeview mit Buttons

Beitrag von ij1972 »

Jan hat geschrieben: Sa, 25. Apr 2009 10:20 Ich habe von Diego auch noch den mit farbigen Einträgen und den mit Drag and Drop-Funktionalität. Den mit den Farben hatte ich mal ausprobiert, weil das sehr gut zu dem Projekt passte. Hab das aber leider nie wirklich ans Laufen bekommen.

Jan
Hallo,
hat jemand den Code von Diegos Beispiel mit farbigen Treeviewitem?
Könnte diesen gebrauchen :D
IJ
Antworten