Seite 1 von 1

XbpMLE() Hintergrundfarbe

Verfasst: Mi, 27. Jun 2018 12:43
von mini990
Hallo,
ich finde da keine Lösung:

Code: Alles auswählen

oM_24 := XbpMLE():new( oFormular, , {120,0820}, {0900,100}) // Unfallbetrieb F1_HERGANG
oM_24:dataLink := {|X| IIf( x == NIL, RTrim(F1050->F1_Hergang), F1050->F1_Hergang := x )}
oM_24:editable := .F.
oM_24:setFontCompoundName( "13.Times New Roman" ) 
oM_24:HorizScroll:= .F.
oM_24:IgnoreTab:= .T.
oM_24:border := .F.
oM_24:setColorFG( GRA_CLR_BLACK )
oM_24:setColorBG( XBPSYSCLR_TRANSPARENT  )
oM_24:create()
oM_24:SetData()
Der Hintergrund ist immer hellgrau, egal was ich mit SetColorBG() einstelle

Gruß Stefan

Re: XbpMLE() Hintergrundfarbe

Verfasst: Mi, 27. Jun 2018 13:19
von Jan
Stefan,

hast Du mal versucht, die drei :set... -Aufrufe hinter das :create() zu verschieben?

Jan

Re: XbpMLE() Hintergrundfarbe

Verfasst: Mi, 27. Jun 2018 13:20
von Tom
Hallo, Stefan.

Das funktioniert an dieser Stelle über die Präsentationsparameter. Schau Dir mal den Code an, den der Formdesigner erzeugt, wenn Du ein MLE verwendest und dort die Farben änderst:

Code: Alles auswählen

oXbp := XbpMLE():new( drawingArea, , {60,60}, {396,252}, { { XBP_PP_BGCLR, GRA_CLR_RED }, { XBP_PP_FGCLR, GRA_CLR_BLUE } } )
Das ist ein MLE mit blauer Vordergrund- und roter Hintergrundfarbe während der Eingabe.

Re: XbpMLE() Hintergrundfarbe

Verfasst: Mi, 27. Jun 2018 13:52
von Werner_Bayern
Das Windows Control “Edit ”, welches von XbpMle benutzt wird, unterstützt keine alternative Hintergrundfarben. Wie Tom schrieb, im Eingabemodus schon.

Re: XbpMLE() Hintergrundfarbe

Verfasst: Mi, 27. Jun 2018 14:43
von AUGE_OHR
wieso soll es nur bei der Eingabe gehen ?

wie Jan schon sagte nach dem o:Create()
MLE_YELLOW.jpg
MLE_YELLOW.jpg (58.04 KiB) 8609 mal betrachtet
MLE_YELLOW.ZIP
(936 Bytes) 318-mal heruntergeladen

Re: XbpMLE() Hintergrundfarbe

Verfasst: Mi, 27. Jun 2018 15:37
von mini990
ähm Jimmy,
Dein Beispiel ist im Eingabemodeus wenn ich es rechts sehe....

Wenn das im Anzeigemodus nicht geht dann mit XbpListbox() und das Memo zeilenweise einlesen oder?

Gruß Stefan

Re: XbpMLE() Hintergrundfarbe

Verfasst: Mi, 27. Jun 2018 15:59
von Werner_Bayern
Servus Jimmy,

hast Recht, das scheint sich geändert zu haben. Mit der aktuellen Version 2.0 951 geht das. Die Aussage von mir war 2016 eine Antwort vom Alaska-Support wg. Hintergrundfarbe in XbpMLE() - da ging das offensichtlich nicht. :banghead:

Das geht jetzt:

Code: Alles auswählen

oXbp := XbpMLE():new( drawingArea, , {nLinks2, UNTEN}, {aColWidth[2], nY - UNTEN}, {{XBP_PP_FGCLR, GRA_CLR_RED},;
{XBP_PP_BGCLR, GRA_CLR_BLUE}, {XBP_PP_DISABLED_FGCLR, GRA_CLR_RED}, {XBP_PP_DISABLED_BGCLR, GRA_CLR_GREEN}})
oXbp:tabStop := .f.
oXbp:editable := .f.
oXbp:create():setData()

Re: XbpMLE() Hintergrundfarbe

Verfasst: Fr, 29. Jun 2018 7:44
von brandelh
Auf jeden Fall ist der Hinweis wichtig, den JAN gegeben hat !

Methoden (bis auf wenige Ausnahmen) werden erst nach dem create aufgerufen !

vorher nutzt man die Instanzvariablen oder Parameter ...

Re: XbpMLE() Hintergrundfarbe

Verfasst: Fr, 29. Jun 2018 8:38
von Tom
vorher nutzt man die Instanzvariablen oder Parameter ...
Wie ich schon vor drölfhundertmillionen Nachrichten schrieb: An dieser Stelle geht das so nicht. Man verwendet die Präsentationsparameter, also den fünften Parameter des Create(). Wie im Beispiel gezeigt, Code direkt aus dem Formdesigner. SetColorBG/FG nach dem Create hat den Nachteil, dass man das MLE schon in anderer Farbgestaltung erzeugt hat, sinnloserweise.

Re: XbpMLE() Hintergrundfarbe

Verfasst: Fr, 29. Jun 2018 8:53
von brandelh
und ich stimme dir da voll zu, auch wenn ich dich bei der Aufzählung vergessen hatte ;-)

Die Methoden (SetColor... SetTitle ... etc. nimmt man nur, wenn man einzelne Werte im Programm nachträglich ändern muss.
z.B. hinterlege ich Eingabefehler bei der Plausiprüfung rot ...