Seite 1 von 1

DCGETOPTIONS BUTTONS

Verfasst: Di, 04. Mai 2021 12:24
von Manfred
Tach,
in DCGETOPTIONS unter DCREAD GUI kann ein Array für entsprechende Buttons mitgegeben werden. So wie ich das jetzt sehe, werden die Buttons aber immer am unteren Rand horizontal erzeugt. Geht das auch anders einzustellen? Links, rechts, mehrreihig usw.?

Re: DCGETOPTIONS BUTTONS

Verfasst: Di, 04. Mai 2021 12:44
von Tom
Ja. 8)

Re: DCGETOPTIONS BUTTONS

Verfasst: Di, 04. Mai 2021 12:53
von Manfred
HI Tom,
links, center und rechts gehen. Das weiß ich. Aber nur unten horizontal, wie ich es meine gelesen zu haben. Ich würde die aber gerne z.B. am rechten/linken Rand untereinander positionieren. Dazu habe ich nichts gefunden.

Re: DCGETOPTIONS BUTTONS

Verfasst: Di, 04. Mai 2021 14:09
von Tom
Hallo, Manfred.

Ich glaube nicht, dass sich die drei verfügbaren Konstanten (links/zentriert/rechts) für BUTTONALIGN kombinieren lassen. Wenn Du eine abweichende Gestaltung brauchst, musst Du eine DCTOOLBAR verwenden und Deine Buttons selbst anordnen. Das gilt auch, wenn Du abweichende Abstände oder ähnliches benötigst.

Re: DCGETOPTIONS BUTTONS

Verfasst: Di, 04. Mai 2021 17:04
von Manfred
das glaube ich ja auch nicht. Deshalb ja meine Frage hier.
Und da Deine erste Antwort ja so gezielt "Ja" lautete, dachte ich zuerst, Du meintest diesen Weg.

Re: DCGETOPTIONS BUTTONS

Verfasst: Di, 11. Okt 2022 18:12
von Manfred
wie komme ich denn nach der Erstellung an die Buttons ran? Die müssen ja irgendwo abgelegt werden und dann müßte man sie ja weiterverarbeiten können. Aber erstmal finde ich die nirgendwo, wenn der Dialog aufgebaut wurde. Ich habe eine Funktion aufgerufen über Eval() und den Dialog übergeben, aber wo stehen die Buttons da drin?

Re: DCGETOPTIONS BUTTONS

Verfasst: Mi, 12. Okt 2022 9:30
von Koverhage

Code: Alles auswählen

@ xRow,  xCol DCTOOLBAR oToolBar SIZE lastcol-2, 1.0


DCSETPARENT oToolBar

DCADDBUTTON CAPTION BMP_NEU SIZE 8, 1.0  ;
            TOOLTIP mess_1 ACCELKEY xbeK_ALT_N ;
            ACTION {|| kd_neu(YES, GetList)}

DCADDBUTTON CAPTION BMP_AENDERN SIZE 8, 1.0  ;
            TOOLTIP mess_2 ACCELKEY xbeK_ALT_AE ;
            ACTION {|| kd_aen(GetList)}

Re: DCGETOPTIONS BUTTONS

Verfasst: Mi, 12. Okt 2022 9:44
von Manfred
?

Re: DCGETOPTIONS BUTTONS

Verfasst: Mi, 12. Okt 2022 11:50
von Tom
Klaus wollte Dir zeigen, wie Du Deine eigene Toolbar baust, die dann auch erweiterte Alignment-Optionen kennt.

Die Buttons, die mit der BUTTONS-Klausel hinzugefügt werden, findest Du am einfachsten in der GetList, die ja für jedes Dialogelement einen Eintrag enthält. Es sind die letzten Elemente - hast Du drei Buttons hinzugefügt, dürften die letzten drei GetList-Einträge diese Buttons enthalten. Die Objekte selbst stecken in Position 19 (in DCDIALOG.CH gibt es dazu das #define "oGETLIST_OBJECT"). Du kannst in der Getlist auch suchen, etwa nach den Captions (Position 3, cGETLIST_CAPTION). An anderen Positionen finden sich Größe und Position im Dialog, Verweise auf den Parent, die Resizing-Regeln usw. usf.

Über die ChildList() des Dialogs solltest Du die Buttons aber auch finden. Da man ihnen keine Objektvariablen zuweisen kann (hierfür gibt es noch keine Position im Buttons-Array), sind diese beiden Wege die mir bislang einzigen bekannten.

Re: DCGETOPTIONS BUTTONS

Verfasst: Mi, 12. Okt 2022 12:02
von Manfred
ok, hat sich alles geklärt. Ich hatte den falschen Dialog übergeben und da konnte man nichts finden. Jetzt ist es so, wie ich es mir ausgedacht hatte.