Button wahlweise Beschriftung mit Array [erledigt]

Moderator: Moderatoren

Antworten
Ewald
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 470
Registriert: Sa, 08. Apr 2006 14:07
Wohnort: Datteln
Danksagung erhalten: 3 Mal
Kontaktdaten:

Button wahlweise Beschriftung mit Array [erledigt]

Beitrag von Ewald »

Hallo,
ich nutze die Möglichkeit, einen Button mit unterschiedlicher Beschriftung zu versehen - je nachdem ob er aktiv oder inaktiv ist.
Hat immer gut funktioniert bis ich auf die glohreiche Idee kam, schönere Buttons mit DC_XbpPushButtonXPConfig():new() zu generieren.
Was ist nicht bemerkt habe ist, das es mit der Beschriftung per array nicht mehr funktioniert. Normale Caption geht, bei einem arrayelement bleibt die Beschriftung leer. Da sich die Beschwerden häufen muss ich da dran ;-) Fehlt mir da wohl ein Parameter ?
Wie immer für jeden Tipp dankbar
Ewald

Code: Alles auswählen

#include 'dcdialog.ch'

proc main
LOCAL GetList := {}

declare abez1 := {"aktiv","inaktiv"}

/*  * Wenn nicht auskommentiert  keine Caption
oConfig := DC_XbpPushButtonXPConfig():new()
oConfig:radius := 20
oConfig:bgColor := GRA_CLR_CYAN
DC_PushButtonStyle( oConfig )
*/

@ 02,01 dcpushbutton caption "Ende " size 10,1 ;
        action {||dc_readguievent(DCGUI_EXIT_OK,getlist)}

@ 02,12 dcpushbutton caption abez1 size 10,1 ;
        action {||nil} when {||1=1}

@ 02,23 dcpushbutton caption abez1 size 10,1 ;
        action {||nil} when {||1=2}

DCREAD GUI fit

RETURN

*------------------

proc appsys
return
Bild
Zuletzt geändert von Ewald am Do, 08. Sep 2022 15:35, insgesamt 1-mal geändert.
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 8947
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 63 Mal
Danksagung erhalten: 235 Mal
Kontaktdaten:

Re: Button wahlweise Beschriftung mit Array

Beitrag von Tom »

So beispielsweise geht es:

Code: Alles auswählen

#include 'dcdialog.ch'
#pragma library("dclipx.lib")

proc main
LOCAL GetList := {}, aBez1 := {"aktiv","inaktiv"}, i := 1

/*  * Wenn nicht auskommentiert  keine Caption */
oConfig := DC_XbpPushButtonXPConfig():new()
oConfig:radius := 20
oConfig:bgColor := GRA_CLR_CYAN
DC_PushButtonStyle( oConfig )

@ 02,01 dcpushbutton caption "Ende " size 10,1 ;
        action {||dc_readguievent(DCGUI_EXIT_OK,getlist)}

@ 02,12 dcpushbutton caption {||abez1[IF(i=1,1,2)]} size 10,1 ;
        action {||nil} when {||i=1}

@ 02,23 dcpushbutton caption {||abez1[IF(i=2,1,2)]} size 10,1 ;
        action {||nil} when {||i=2}

@ 04,01 DCPUSHBUTTON CAPTION 'Toggle' SIZE 10,1 ACTION {||i++,IF(i>2,i:=1,NIL),DC_GetRefresh(GetList)}

DCREAD GUI fit
Und so sieht es aus:
arraybutton.png
arraybutton.png (2.06 KiB) 1048 mal betrachtet
RETURN

*------------------

proc appsys
return
Herzlich,
Tom
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 8947
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 63 Mal
Danksagung erhalten: 235 Mal
Kontaktdaten:

Re: Button wahlweise Beschriftung mit Array

Beitrag von Tom »

Da scheint es beim DCPUSHBUTTONXP tatsächlich einen Fehler zu geben, denn eigentlich sollte auch der das Array aus zwei Texten als Caption unterstützen. Tut er aber nicht.
Herzlich,
Tom
Ewald
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 470
Registriert: Sa, 08. Apr 2006 14:07
Wohnort: Datteln
Danksagung erhalten: 3 Mal
Kontaktdaten:

Re: Button wahlweise Beschriftung mit Array

Beitrag von Ewald »

Hallo Tom,
danke dafür. Werde dann eben auf die spezielle Arraybeschriftung verzichten und feste Begriffe codieren.
DC_XbpPushButtonXPConfig():new() ist ja weniger was für mich, beeindruckt aber den User mehr als wenn ich irgend einen 5000 Zeiler schreibe der nur im Hintergrund abläuft ;-)
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 20561
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 110 Mal
Danksagung erhalten: 42 Mal

Re: Button wahlweise Beschriftung mit Array [erledigt]

Beitrag von Manfred »

hallo Ewald,
:setCaption() hilft Dir nicht weiter?
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 20561
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 110 Mal
Danksagung erhalten: 42 Mal

Re: Button wahlweise Beschriftung mit Array [erledigt]

Beitrag von Manfred »

Stop,
ich glaube ich habe mich verlesen.

ich mache das so

Code: Alles auswählen

::aPbLeiste[17]:text    := {|| ::setzePbCaption("jahr")}

METHOD vt_dialog:setzePbCaption(cPb)
       LOCAL cCaption

       MEMVAR basc_06
       MEMVAR oVtPara
       MEMVAR x_screen

       DEFAULT cPb TO ""

       IF Upper(cPb) == "JAHR"
          cCaption := "~J " + oVtPara:m_mtg_jahr
       ELSEIF Upper(cPb) == "MANDANT"
          cCaption := "~T " + oVtPara:m_mtg_nr
       ELSEIF Upper(cPb) == "FILTER"
          cCaption := "~Filter"
          IF ::lFilter
             cCaption += " (aktiv)"
          ENDIF
       ELSEIF Upper(cPb) == "BILDSCHIRM"
          IF TYPE("x_screen") == "C"
             cCaption := "~Bildschirm (" + x_screen + ")"
          ELSEIF TYPE("basc_06") == "C"
             cCaption := "~Bildschirm (" + basc_06 + ")"
          ENDIF
       ENDIF
RETURN cCaption
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 8947
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 63 Mal
Danksagung erhalten: 235 Mal
Kontaktdaten:

Re: Button wahlweise Beschriftung mit Array [erledigt]

Beitrag von Tom »

Das ist letztlich ein Fehler; DCPUSHBUTTONXPs sollten auch das Array mit zwei Texten als Captions unterstützen, tun sie aber nicht (aus einem DCPUSHBUTTON wird durch das ConfigLegacy automatisch ein DCPUSHBUTTONXP). Ich habe in Rogers Forum ein Beispiel gepostet. Mein Vorschlag ist ja nur ein Workaround.
Herzlich,
Tom
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 20561
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 110 Mal
Danksagung erhalten: 42 Mal

Re: Button wahlweise Beschriftung mit Array [erledigt]

Beitrag von Manfred »

ich glauibe dieses Thema hatte ich schon mal vor ein paar jahren hier aufgelegt. Deshalb habe ich es ja so gelöst. Wenn ich mich nicht irre. Ich meine sogar wegen ein paar Vorschlägen von Dir Tom. ;-)
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 8947
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 63 Mal
Danksagung erhalten: 235 Mal
Kontaktdaten:

Re: Button wahlweise Beschriftung mit Array [erledigt]

Beitrag von Tom »

Möglich. 8)
Herzlich,
Tom
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 8947
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 63 Mal
Danksagung erhalten: 235 Mal
Kontaktdaten:

Re: Button wahlweise Beschriftung mit Array [erledigt]

Beitrag von Tom »

Roger hat gerade geschrieben, dass er das im nächsten Build korrigieren wird.
Herzlich,
Tom
Ewald
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 470
Registriert: Sa, 08. Apr 2006 14:07
Wohnort: Datteln
Danksagung erhalten: 3 Mal
Kontaktdaten:

Re: Button wahlweise Beschriftung mit Array [erledigt]

Beitrag von Ewald »

Habe ich annähernd live verfolgt ;-)
Ewald
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 470
Registriert: Sa, 08. Apr 2006 14:07
Wohnort: Datteln
Danksagung erhalten: 3 Mal
Kontaktdaten:

Re: Button wahlweise Beschriftung mit Array [erledigt]

Beitrag von Ewald »

Hallo Manfred,
habe gestern irgendwie deinen Beitrag überlesen. Sorry.
Wollte mich dafür noch mal kurz bedanken
Gruß
Ewald
Antworten