Frage zu GRA_CLR [Erledigt]

Grafische Primitive, XbaseParts und Darstellungsfragen allgemein.

Moderator: Moderatoren

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

Frage zu GRA_CLR [Erledigt]

Beitrag von Jan »

Hallo,

wenn ich z. B. in einem XbpBrowse die Farben anpassen möchte, kann ich das ja über den :colorBlock() machen. Dabei gibt es dann auch z. B. den Platzhalter GR_CLR_BACKGROUND, der die im Theme eingestellten Standard-Hintergrundfarbe gibt.

Aber was ist die Standard-Hintergrundfarbe des gerade markierten Satzes? Da finde ich keine Konstante zu.

Jan
Zuletzt geändert von Jan am Mi, 22. Aug 2018 15:07, insgesamt 1-mal geändert.
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: 9345
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 100 Mal
Danksagung erhalten: 359 Mal
Kontaktdaten:

Re: Frage zu GRA_CLR

Beitrag von Tom »

GR_CLR_BACKGROUND ist die in Windows eingestellte Hintergrundfarbe für Controls allgemein. Man sollte also die Farbe sehen, die das Fenster im nichtbemalten Bereich hat, auf dem sich das Browse befindet. Ich würde GR_CLR_BACKGROUND nicht in Browse-Colorblöcken verwenden. Welche Farbe ist denn für das Browse als XBP_PP_COL_DA_BGCLR eingestellt (PresParam)? Wenn man für den Hintergrund NIL im Colorblock angibt, sollte die zu sehen sein.
Herzlich,
Tom
Benutzeravatar
Jan
Marvin
Marvin
Beiträge: 14641
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Hat sich bedankt: 21 Mal
Danksagung erhalten: 87 Mal
Kontaktdaten:

Re: Frage zu GRA_CLR

Beitrag von Jan »

Hallo Tom,

wieso würdest Du GRA_CLR_BACKGROUND nicht in Codeblöcken verwenden? Ich mach das schon seit Jahren, bislang ohne Probleme. Ich benutze den immer dann, wenn ich die Farbe eben nicht ändern will, sondern nur die Schriftfarbe.

Mein Problem ist das ich nicht weiß, welche Hintergrundfarbe der gerade markierte Satz im XbpBrowse hat. Das ist ja definitiv was anderes. Standard scheint im Moment unter Windows 10 ohne Änderung des Farbschemas ein Blauton zu sein, der aber sehr stark von GRA_CLR_BLUE abweicht - kein Wunder, das sind ja noch die knalligen Bonbon-Farben aus DOS-Zeiten. Also sehr sicher irgend ein RGB.

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: 9345
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 100 Mal
Danksagung erhalten: 359 Mal
Kontaktdaten:

Re: Frage zu GRA_CLR

Beitrag von Tom »

Nicht in Browse-Colorblöcken schrub ich.

Anyway, wenn Du die normal eingestellte Hintergrundfarbe für nichtmarkierte Zellen sehen willst, die sich aus den Präsentationsparametern ergibt, nimmst Du eben entweder direkt diese - oder NIL.
Herzlich,
Tom
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15688
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: Frage zu GRA_CLR

Beitrag von brandelh »

der Browser ist ja kein echtes Windows Control, daher hat der auch keinen Background Wert von denen.
Jede "Konstante" ist ja nur ein Textwert einer Zahl als ob sie in den Quellcode geschrieben wurde.
Bei einer Browseranzeige mit wechselnden Farben wird meist auch der Hintergrund gewechselt, wobei es für die Cursor Zeile andere Grundwerte gibt wie für den Rest, ich meine das wird in den PP Werten eingestellt.
Wenn man eine Funktion dafür verwendet, kann man flexibel auf äußere Umstände reagieren ;-)
Gruß
Hubert
Benutzeravatar
Jan
Marvin
Marvin
Beiträge: 14641
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Hat sich bedankt: 21 Mal
Danksagung erhalten: 87 Mal
Kontaktdaten:

Re: Frage zu GRA_CLR

Beitrag von Jan »

Hallo Tom,

schon klar. Aber warum nicht?

Abgesehen davon hab ich jetzt zumindest im 4. Parameter (Hintergrundfarbe markierte Zeile) mal ein NIL eingebaut. Und siehe da, es funktioniert. Interessant.

Danke für den überraschenden Tipp.

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

Re: Frage zu GRA_CLR [Erledigt]

Beitrag von brandelh »

Offensichtlich interpretiert Xbase++ das NIL als "nimm Standard Wert", also so wie immer ;-)
Gruß
Hubert
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

Re: Frage zu GRA_CLR [Erledigt]

Beitrag von AUGE_OHR »

Jan hat geschrieben: Mi, 22. Aug 2018 12:01 Aber was ist die Standard-Hintergrundfarbe des gerade markierten Satzes? Da finde ich keine Konstante zu.
es gibt die Demo \SOURCE\samples\basics\PRESPARA\PANEL.EXE allerdings ohne Manifest.

unter "Markierte Elemente" findest du das

Code: Alles auswählen

#define XBP_PP_HILITE_FGCLR            6
#define XBP_PP_HILITE_BGCLR            8
#define XBPSYSCLR_HILITEFOREGROUND         (-33)
#define XBPSYSCLR_HILITEBACKGROUND         (-32)

   AADD(aPP,{XBP_PP_HILITE_FGCLR,XBPSYSCLR_HILITEFOREGROUND})
   AADD(aPP,{XBP_PP_HILITE_BGCLR,XBPSYSCLR_HILITEBACKGROUND})
gruss by OHR
Jimmy
Antworten