Farbe aktive Zeile in Listbox/XbpBrowse [Erledigt]
Moderator: Moderatoren
- Jan
- Marvin
- Beiträge: 14662
- Registriert: Fr, 23. Sep 2005 18:23
- Wohnort: 49328 Melle
- Hat sich bedankt: 21 Mal
- Danksagung erhalten: 88 Mal
- Kontaktdaten:
Farbe aktive Zeile in Listbox/XbpBrowse [Erledigt]
Wie kann ich die Farbe auslesen? Setzen ist kein Problem, aber auslesen?
Jan
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: 9394
- Registriert: Do, 22. Sep 2005 23:11
- Wohnort: Berlin
- Hat sich bedankt: 105 Mal
- Danksagung erhalten: 364 Mal
- Kontaktdaten:
Re: Farbe aktive Zeile in Listbox/XbpBrowse
Code: Alles auswählen
XbpColumn:DataArea:GetCellColour(<nLinePos>,@nFgCol,@nBgCol)
Herzlich,
Tom
Tom
- Jan
- Marvin
- Beiträge: 14662
- Registriert: Fr, 23. Sep 2005 18:23
- Wohnort: 49328 Melle
- Hat sich bedankt: 21 Mal
- Danksagung erhalten: 88 Mal
- Kontaktdaten:
Re: Farbe aktive Zeile in Listbox/XbpBrowse
Hallo Tom,
Danke für den Hinweis. Die Methode kannte ich in der Tat noch nicht. Allerdings hast Du da einen Tippfehler drin: Du schreibst "colour", also die englische variante. Das muß aber "color" lauten, also die amerikanische Schreibweise.
Allerdings habe ich mich wohl nicht ganz korrekt ausgedrückt. Ich will die Farbe nicht zur Laufzeit auslesen. Sondern dachte das es irgendeine Systemvariable gibt, in der das steht. Denn leider ist XBP_PP_COL_DA_HILITE_BGCLR bis zu einer manuellen Zuweisung immer NIL. Ich hatte gehofft, daß da bis zur manuellen Zuweisung der Systemwert drin steht. Dann wäre das einfach gewesen. Tut es aber dummerweise nicht.
Und nun ja, im XbpBrowse gibt es in der Tat keine Zeilenfarbe. Aber in der XbpListbox. Die beide die gleichen Farben für die aktuelle Zeile/das aktuelle Feld benutzen. Von daher wäre mir das vollkommen egal, welche von beiden ich nehme.
Jan
Danke für den Hinweis. Die Methode kannte ich in der Tat noch nicht. Allerdings hast Du da einen Tippfehler drin: Du schreibst "colour", also die englische variante. Das muß aber "color" lauten, also die amerikanische Schreibweise.
Allerdings habe ich mich wohl nicht ganz korrekt ausgedrückt. Ich will die Farbe nicht zur Laufzeit auslesen. Sondern dachte das es irgendeine Systemvariable gibt, in der das steht. Denn leider ist XBP_PP_COL_DA_HILITE_BGCLR bis zu einer manuellen Zuweisung immer NIL. Ich hatte gehofft, daß da bis zur manuellen Zuweisung der Systemwert drin steht. Dann wäre das einfach gewesen. Tut es aber dummerweise nicht.
Und nun ja, im XbpBrowse gibt es in der Tat keine Zeilenfarbe. Aber in der XbpListbox. Die beide die gleichen Farben für die aktuelle Zeile/das aktuelle Feld benutzen. Von daher wäre mir das vollkommen egal, welche von beiden ich nehme.
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.
- AUGE_OHR
- Marvin
- Beiträge: 12913
- Registriert: Do, 16. Mär 2006 7:55
- Wohnort: Hamburg
- Hat sich bedankt: 19 Mal
- Danksagung erhalten: 46 Mal
Re: Farbe aktive Zeile in Listbox/XbpBrowse
Jan hat geschrieben:Sondern dachte das es irgendeine Systemvariable gibt, in der das steht.
Code: Alles auswählen
XBPSYSCLR_HILITEBACKGROUND, XBPSYSCLR_HILITEFOREGROUND
gruss by OHR
Jimmy
Jimmy
- Jan
- Marvin
- Beiträge: 14662
- Registriert: Fr, 23. Sep 2005 18:23
- Wohnort: 49328 Melle
- Hat sich bedankt: 21 Mal
- Danksagung erhalten: 88 Mal
- Kontaktdaten:
Re: Farbe aktive Zeile in Listbox/XbpBrowse
Hallo Jimmy,
ja, genau die hab ich gebraucht. Danke.
Jan
ja, genau die hab ich gebraucht. Danke.
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.
-
- Der Entwickler von "Deep Thought"
- Beiträge: 2828
- Registriert: Fr, 10. Feb 2006 9:51
- Wohnort: Aachen
- Hat sich bedankt: 259 Mal
- Danksagung erhalten: 12 Mal
- Kontaktdaten:
Re: Farbe aktive Zeile in Listbox/XbpBrowse [Erledigt]
Hallo Jan,Jan hat geschrieben:Wie kann ich die Farbe auslesen? Setzen ist kein Problem, aber auslesen?
Jan
wie kann ich die Farbe der aktiven Zeile (zur Laufzeit) ändern?
Uli
-------
Mitglied XuG Cologne
Mitglied XuG Osnabrück
Mitglied XuG Cologne
Mitglied XuG Osnabrück
- AUGE_OHR
- Marvin
- Beiträge: 12913
- Registriert: Do, 16. Mär 2006 7:55
- Wohnort: Hamburg
- Hat sich bedankt: 19 Mal
- Danksagung erhalten: 46 Mal
Re: Farbe aktive Zeile in Listbox/XbpBrowse [Erledigt]
o:Colorblock oder was meinst du ?UliTs hat geschrieben:wie kann ich die Farbe der aktiven Zeile (zur Laufzeit) ändern?
wenn du die Presentation Parameter XBP_PP_COL_* meinst : mit o:setPresParam()
gruss by OHR
Jimmy
Jimmy
- Jan
- Marvin
- Beiträge: 14662
- Registriert: Fr, 23. Sep 2005 18:23
- Wohnort: 49328 Melle
- Hat sich bedankt: 21 Mal
- Danksagung erhalten: 88 Mal
- Kontaktdaten:
Re: Farbe aktive Zeile in Listbox/XbpBrowse [Erledigt]
Hallo Uli,
hmm. Wie soll ich Deine Frage verstehen? Ich ändere die Farbe einzelner Zellen oder Farben gerne nach Bedingungen in einem der Felder. Die Cursorzeile stelle ich mir eigentlich nur 1x ein, und das wars dann. Aber theoretisch müsste auch das nach Bedingungen gehen können.
Vorbedingung ist, das Du die Themes ausstellst. Ich mache das explizit nur für den Browse, alles andere soll ja je nach Theme angezeigt werden. Also:
Und die Farben dann so beim erstellen der Spalten:
Das ist jetzt Originalcode von mir, den Du natürlich anpassen müsstest. Hilft das weiter?
Jan
hmm. Wie soll ich Deine Frage verstehen? Ich ändere die Farbe einzelner Zellen oder Farben gerne nach Bedingungen in einem der Felder. Die Cursorzeile stelle ich mir eigentlich nur 1x ein, und das wars dann. Aber theoretisch müsste auch das nach Bedingungen gehen können.
Vorbedingung ist, das Du die Themes ausstellst. Ich mache das explizit nur für den Browse, alles andere soll ja je nach Theme angezeigt werden. Also:
Code: Alles auswählen
oBrowse:useVisualStyle := .F.
oBrowse:hScrollObject:useVisualStyle := .T.
oBrowse:vScrollobject:useVisualStyle := .T.
oBrowse:create()
Code: Alles auswählen
oSpalte := XBPColumn():new(oDlg, , , , {{XBP_PP_COL_DA_HILITE_BGCLR , MEMVAR->gnDatenfeldBG }, ;
{XBP_PP_COL_DA_HILITE_FGCLR , MEMVAR->gnFeldUeberschriften }, ;
{XBP_PP_COL_DA_CELLWIDTH , nSpaltenBreite }, ;
{XBP_PP_COL_DA_ROWWIDTH , nSpaltenBreite }, ;
{XBP_PP_COL_HA_CAPTION , cHeader }, ;
{XBP_PP_COL_HA_FGCLR , MEMVAR->gnBrowseHeaderFG }, ;
{XBP_PP_COL_HA_BGCLR , MEMVAR->gnBrowseHeaderBG }, ;
{XBP_PP_COL_HA_FRAMELAYOUT , XBPFRAME_NONE }})
ENDIF
// Reihen farbig differenziert nach Geschlecht
IF lGeschlecht = .T.
oSpalte:colorBlock := {|x| IIf(genealog->geschlecht = "M", ;
{MEMVAR->gcFarbeMann, GraMakeRGBColor({250,254,255})}, ;
IIf(genealog->geschlecht = "W", ;
{MEMVAR->gcFarbeFrau, GraMakeRGBColor({250,254,255})}, ;
{GRA_CLR_DARKGREEN, GraMakeRGBColor({250,254,255})}))}
ELSE
oSpalte:colorBlock := {|x| {MEMVAR->gcFarbeMann, GraMakeRGBColor({250,254,255})}}
ENDIF
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.
-
- Der Entwickler von "Deep Thought"
- Beiträge: 2828
- Registriert: Fr, 10. Feb 2006 9:51
- Wohnort: Aachen
- Hat sich bedankt: 259 Mal
- Danksagung erhalten: 12 Mal
- Kontaktdaten:
Re: Farbe aktive Zeile in Listbox/XbpBrowse [Erledigt]
Danke!
Ich kann es mir leider erst am Montag anschauen.
Uli
Ich kann es mir leider erst am Montag anschauen.
Uli
-------
Mitglied XuG Cologne
Mitglied XuG Osnabrück
Mitglied XuG Cologne
Mitglied XuG Osnabrück