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 (58.04 KiB) 9193 mal betrachtet
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.
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 ...