Farben in disable()ten MLE [Erledigt]

Grafische Primitive, XbaseParts und Darstellungsfragen allgemein.

Moderator: Moderatoren

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

Farben in disable()ten MLE [Erledigt]

Beitrag von Jan »

Wenn ich ein XbpMle disable(), dann wird die Schrift eingegraut. Was einem Kunden von mir nicht gefällt, da das dann bei Darstellung über einen Beamer nur noch schlecht vor dem hellgrauen Hintergrund lesbar ist.

Mir ist klar, daß das Windows-Standardverhalten ist. Aber gibt es dennoch die Möglichkeit, das unkompliziert abzuändern?

Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 9357
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 101 Mal
Danksagung erhalten: 361 Mal
Kontaktdaten:

Re: Farben in disable()ten MLE

Beitrag von Tom »

Eleganter Weg:

Eigene MLE-Klasse ableiten, darin neue iVar "lEditable". Die sitzt auf .F., wenn das MLE "disabled" ist. In diesem Fall werden andere Darstellungsfarben gewählt. Erhält das MLE nun den Fokus und lEditable ist nicht gesetzt, schubst es den Fokus sofort auf das vorige oder nächste Element in der ChildList, einfach über den SetInputFocus-Slot. Das geht natürlich auch ohne eigene Klasse, einfach mit einer lokalen Variablen. Mit eigener Klasse ließe sich das aber relativ fix für die gesamte App umsetzen.
Herzlich,
Tom
Benutzeravatar
Jan
Marvin
Marvin
Beiträge: 14651
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Hat sich bedankt: 21 Mal
Danksagung erhalten: 88 Mal
Kontaktdaten:

Re: Farben in disable()ten MLE

Beitrag von Jan »

Hallo Tom,

also statt :disable() einfach kein fokussetzen mehr zulassen? Auch eine interessante Idee. Da ich ohnehin eine eigene Funktion habe, mit der ich die MLE programmweit mit den gleichen optischen Einstellungen erzeuge, ließe sich das eventuell recht einfach umsetzen.

Ich hatte ansonsten gehofft, das man irgendwie auch die Farben bei disable()ten Objekten manipulieren zu können.

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: 15695
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: Farben in disable()ten MLE

Beitrag von brandelh »

Hallo Jan,

es geht einfacher, aber zunächst die Frage ob DISABLE überhaupt richtig ist !

Wenn das Control z.b. nur schreibgeschützt werden soll, ist es falsch.
Ein MLE mit Schreibschutz ist SCHWARZ auf GRAU, kann markiert und auch gescrollt werden.
Falls es das ist was du willst, einfach :setEditable( .f. ) setzen (auch bei SLE vorhanden) und disable() bleiben lassen.

Falls du wirklich ein disable() brauchst (nicht wählbar), kannst du die Farbe in den presentation parametern übergeben.
In der Hilfe steht zwar nichts von disable mit FG, aber die XBP.CH weiß es besser ;-)

Code: Alles auswählen

// Allgemeine Presentation Parameter
#define XBP_PP_FGCLR                   2
#define XBP_PP_BGCLR                   4
#define XBP_PP_HILITE_FGCLR            6
#define XBP_PP_HILITE_BGCLR            8
#define XBP_PP_DISABLED_FGCLR          10
#define XBP_PP_DISABLED_BGCLR          12
sowas verwende ich ab häufig:

Code: Alles auswählen

XbpSle:new( self, , {nPosX,nPosY},{nSLEBreiteZahlen,nSLEHoehe}, ;
                           { { XBP_PP_BGCLR, XBPSYSCLR_ENTRYFIELD } , ;
                           { XBP_PP_DISABLED_FGCLR, GRA_CLR_BLACK },;
                           { XBP_PP_FGCLR, GRA_CLR_BLACK } } )
Dennoch nochmal den Hinweis, ist DISABLE das was man braucht ?

PS: wenn du das grundsätzlich anders möchtest, solltest du in der Tat eine abgeleitete Klasse nutzen.
Gruß
Hubert
Benutzeravatar
Jan
Marvin
Marvin
Beiträge: 14651
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Hat sich bedankt: 21 Mal
Danksagung erhalten: 88 Mal
Kontaktdaten:

Re: Farben in disable()ten MLE

Beitrag von Jan »

Hallo Hubert,

oha! Das klappt tatsächlich. Hervorragender Vorschlag.

:disable() ist übrigens genau das, was ich brauche. Mit :editable() erreiche ich in diesem Fall das Falsche.

Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21186
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 210 Mal
Danksagung erhalten: 67 Mal

Re: Farben in disable()ten MLE [Erledigt]

Beitrag von Manfred »

hättest Du mich mal gefragt. Im Redsystem ist das genau so drin. :badgrin:
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
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15695
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: Farben in disable()ten MLE [Erledigt]

Beitrag von brandelh »

JAN hat doch ALLE gefragt, also auch DICH !

Oder fühlt sich Hoheit durch das vulgäre "an alle" nicht angesprochen :badgrin:
Gruß
Hubert
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21186
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 210 Mal
Danksagung erhalten: 67 Mal

Re: Farben in disable()ten MLE [Erledigt]

Beitrag von Manfred »

Ich hatte noch kurz vorher mit ihm telefoniert, deshalb. Aber Deine Variante hört sich auch gut an. :badgrin:
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
Jan
Marvin
Marvin
Beiträge: 14651
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Hat sich bedankt: 21 Mal
Danksagung erhalten: 88 Mal
Kontaktdaten:

Re: Farben in disable()ten MLE [Erledigt]

Beitrag von Jan »

Manfred,

hättest Du mir gesagt, das Du sowas auch schon umgesetzt hast, dann hätte ich Dich auch gefragt :-)

Im Ernst: Ich kann ja nicht alles erahnen. Und da Du mit eXpress++ arbeitest, und ich nicht, ist unsere Herangehensweise ohnehin oftmals eine ganz andere.

Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
Antworten