Farben in disable()ten MLE [Erledigt]
Moderator: Moderatoren
- Jan
- 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]
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
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.
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
- Tom
- 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
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.
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
Tom
- Jan
- 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
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
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.
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
- brandelh
- 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
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
sowas verwende ich ab häufig:
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.
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
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 } } )
PS: wenn du das grundsätzlich anders möchtest, solltest du in der Tat eine abgeleitete Klasse nutzen.
Gruß
Hubert
Hubert
- Jan
- 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
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
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.
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
- Manfred
- 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]
hättest Du mich mal gefragt. Im Redsystem ist das genau so drin.
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!!
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!!
- brandelh
- 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]
JAN hat doch ALLE gefragt, also auch DICH !
Oder fühlt sich Hoheit durch das vulgäre "an alle" nicht angesprochen
Oder fühlt sich Hoheit durch das vulgäre "an alle" nicht angesprochen
Gruß
Hubert
Hubert
- Manfred
- 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]
Ich hatte noch kurz vorher mit ihm telefoniert, deshalb. Aber Deine Variante hört sich auch gut an.
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!!
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!!
- Jan
- 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]
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
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.
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.