XbpBrowse Farbe des Zeilen-Cursors [ERLEDIGT]
Moderator: Moderatoren
-
- 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:
XbpBrowse Farbe des Zeilen-Cursors [ERLEDIGT]
Hallo allerseits,
ich benutze die Standard XbpBrowse-Klasse. Dabei ändere ich auch je nach Inhalt die Hintergrundfarbe einzelner Zellen.
Gleichzeitig habe ich dabei einen Zeilencursor zur Navigation.
Der Cursor wird dabei einheitlich in einer Farbe (Grau) dargestellt. Dies möchte ich ändern, damit man noch erkennen kann, welche Zellen im Zeilencursor ich mit einer Hintergrundfarbe versehen habe.
Geht das irgendwie?
Uli
ich benutze die Standard XbpBrowse-Klasse. Dabei ändere ich auch je nach Inhalt die Hintergrundfarbe einzelner Zellen.
Gleichzeitig habe ich dabei einen Zeilencursor zur Navigation.
Der Cursor wird dabei einheitlich in einer Farbe (Grau) dargestellt. Dies möchte ich ändern, damit man noch erkennen kann, welche Zellen im Zeilencursor ich mit einer Hintergrundfarbe versehen habe.
Geht das irgendwie?
Uli
Zuletzt geändert von UliTs am Mi, 29. Jun 2016 18:30, insgesamt 1-mal geändert.
-------
Mitglied XuG Cologne
Mitglied XuG Osnabrück
Mitglied XuG Cologne
Mitglied XuG Osnabrück
-
- 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: XbpBrowse Farbe des Zeilen-Cursors
Noch zur Info:
Die Farbe einer einzelnen Zelle ändere ich in Abhängigkeit vom Inhalt durch
Perfekt wäre es, wenn es so etwas wie
gäbe.
Uli
Die Farbe einer einzelnen Zelle ändere ich in Abhängigkeit vom Inhalt durch
Code: Alles auswählen
oXbpColumn:colorBlock := {<nColorFG>,<nColorBG>}
Code: Alles auswählen
oXbpColumn:hiliteColorBlock := {<nColorFG>,<nColorBG>}
Uli
-------
Mitglied XuG Cologne
Mitglied XuG Osnabrück
Mitglied XuG Cologne
Mitglied XuG Osnabrück
-
- Rekursionen-Architekt
- Beiträge: 118
- Registriert: Mi, 28. Nov 2007 12:48
- Wohnort: Wien
- Hat sich bedankt: 5 Mal
- Kontaktdaten:
Re: XbpBrowse Farbe des Zeilen-Cursors
Wenn VisualStyle auf .T. gesetzt und eine .manifest Datei vorhanden ist, sollte der Zeilencursor so durchsichtig angezeigt werden, dass die Hintergrundfarben der Zellen sichtbar bleiben.
Gruß aus Wien
Leon
Leon
-
- 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: XbpBrowse Farbe des Zeilen-Cursors
Hallo Leon,
danke für den Hinweis.
Bisher habe ich keine manifest-Datei im Einsatz. Könnte jemand hier ein Beispiel reinstellen?
Ansonsten habe ich noch die Idee, dass es mit Hilfe von
gehen könnte
Uli
Hinweis: zur Zeit setze ich (noch) 1.90.331 ein.
danke für den Hinweis.
Bisher habe ich keine manifest-Datei im Einsatz. Könnte jemand hier ein Beispiel reinstellen?
Ansonsten habe ich noch die Idee, dass es mit Hilfe von
Code: Alles auswählen
:hiliteRow( <nRowPos>, <lHilite>, ;
[<lFrame>], [<lRepaint>] ) --> lSuccess
Uli
Hinweis: zur Zeit setze ich (noch) 1.90.331 ein.
-------
Mitglied XuG Cologne
Mitglied XuG Osnabrück
Mitglied XuG Cologne
Mitglied XuG Osnabrück
- Wolfgang Ciriack
- Der Entwickler von "Deep Thought"
- Beiträge: 2945
- Registriert: Sa, 24. Sep 2005 9:37
- Wohnort: Berlin
- Hat sich bedankt: 14 Mal
- Danksagung erhalten: 34 Mal
- Kontaktdaten:
Re: XbpBrowse Farbe des Zeilen-Cursors
Gib mal den Colorblock so an:
Code: Alles auswählen
oXbpColumn:colorBlock := {<nColorFG>,<nColorBG>,<nColorFGHilite>,<nColorBGHilite>}
Viele Grüße
Wolfgang
Wolfgang
- 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: XbpBrowse Farbe des Zeilen-Cursors
wenn man default visual Style ( .t.) verwendet sieht man einen Colorblock gar nicht mit der v1.9.355Leon hat geschrieben:Wenn VisualStyle auf .T. gesetzt und eine .manifest Datei vorhanden ist, sollte der Zeilencursor so durchsichtig angezeigt werden, dass die Hintergrundfarben der Zellen sichtbar bleiben.
gruss by OHR
Jimmy
Jimmy
- 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: XbpBrowse Farbe des Zeilen-Cursors
schon nicht schlecht im Ansatz ... aber wie soll es "automatisch" reagieren ?UliTs hat geschrieben:Ansonsten habe ich noch die Idee, dass es mit Hilfe vonCode: Alles auswählen
:hiliteRow( <nRowPos>, <lHilite>, ; [<lFrame>], [<lRepaint>] ) --> lSuccess
ich habe dafür eine Class XbpColumnLocal
in der Version ist IMHO visual Style nicht umgesetzt ... warum nutzt du nicht den "Patch" auf die SL1 v1.9.355 ?UliTs hat geschrieben:Hinweis: zur Zeit setze ich (noch) 1.90.331 ein.
gruss by OHR
Jimmy
Jimmy
-
- Rekursionen-Architekt
- Beiträge: 118
- Registriert: Mi, 28. Nov 2007 12:48
- Wohnort: Wien
- Hat sich bedankt: 5 Mal
- Kontaktdaten:
Re: XbpBrowse Farbe des Zeilen-Cursors
Sicher?AUGE_OHR hat geschrieben:wenn man default visual Style ( .t.) verwendet sieht man einen Colorblock gar nicht mit der v1.9.355
Gruß aus Wien
Leon
Leon
- 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: XbpBrowse Farbe des Zeilen-Cursors
JALeon hat geschrieben:Sicher?AUGE_OHR hat geschrieben:wenn man default visual Style ( .t.) verwendet sieht man einen Colorblock gar nicht mit der v1.9.355
auf deinem Bild sieht man den Scrollbar und der hat keinen visual Style ...
aber jeder kann das selbst schnell testen mit dem Demo c:\ALASKA\XPPW32\SOURCE\samples\basics\GuiBrow\EBROWSE.prg. in dem Verzeichnis ist kein Manifest File.
kopiere alles in anderes Verzeichnis und lege ein EBROWSE.EXE.MANIFEST vor dem starten von project.xpj an.
wenn du es dann startest wirst du keinen o:Colorblock mehr "sehen"
nun lösche EBROWSE.EXE.MANIFEST und du siehst wieder die Farbe ( rot )
p.s. da du einen "Zebra" Style verwendest ist dort vermutlich ein o:UserVisualStyle := .F. drin
gruss by OHR
Jimmy
Jimmy
-
- Rekursionen-Architekt
- Beiträge: 118
- Registriert: Mi, 28. Nov 2007 12:48
- Wohnort: Wien
- Hat sich bedankt: 5 Mal
- Kontaktdaten:
Re: XbpBrowse Farbe des Zeilen-Cursors
Das hängt aber nur damit zusammen, dass das Programm auf einem Rechner mit Windows 10 läuft. Auf einem Rechner mit Windows 7 sieht dasselbe Programm so aus:AUGE_OHR hat geschrieben:JA
auf deinem Bild sieht man den Scrollbar und der hat keinen visual Style ...
Das ist definitiv mit Visual Style.
Gruß aus Wien
Leon
Leon
- 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: XbpBrowse Farbe des Zeilen-Cursors
JA .. der Scrollbar ist auf dem Bild wohl mit visual Style.Leon hat geschrieben:Das ist definitiv mit Visual Style.
Frage : verwendest du Express++ oder Topdown oder andere 3-PP Lib ?
wie schon gesagt versuche das original Alaska Sample und du wirst "sehen" das visual Style o:Colorblock "verdeckt".
deshalb gilt für die SL1 v1.9.355
Code: Alles auswählen
IF XPPVER > 01900331
oBrowse:usevisualstyle := .F.
// aber visual Style für Scrollbar
oBrowse:hScrollObject:useVisualStyle := .T.
oBrowse:vScrollObject:useVisualStyle := .T.
ENDIF
Code: Alles auswählen
IF XPPVER > 01900331
oCol:dataArea:useVisualStyle := .F.
ENDIF
gruss by OHR
Jimmy
Jimmy
- 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: XbpBrowse Farbe des Zeilen-Cursors
dann siehe dir mal c:\exp20\Source\Dclipx\_dcxbrow.prg anLeon hat geschrieben:Ich verwende eXpress.
Code: Alles auswählen
CLASS DC_XbpBrowseConfig
EXPORTED:
VAR font
VAR presParam
VAR useVisualStyleBrowse
VAR useVisualStyleScrollBars
METHOD Init
ENDCLASS
* ---------------
METHOD DC_XbpBrowseConfig:init()
::font := nil
::presParam := DC_BrowPres()
::useVisualStyleBrowse := .f.
::useVisualStyleScrollBars := .t.
RETURN self
gruss by OHR
Jimmy
Jimmy
-
- Rekursionen-Architekt
- Beiträge: 118
- Registriert: Mi, 28. Nov 2007 12:48
- Wohnort: Wien
- Hat sich bedankt: 5 Mal
- Kontaktdaten:
Re: XbpBrowse Farbe des Zeilen-Cursors
Was willst Du damit beweisen? Das ist eine Vorgabe, die aber änderbar ist durch den Parameter USEVISUALSTYLE und ich verwende den eben, wenn eine Manifestdatei vorhanden ist. Warum das unter W10 anders aussieht als unter W7, musst Du Alaska fragenAUGE_OHR hat geschrieben:dann siehe dir mal c:\exp20\Source\Dclipx\_dcxbrow.prg anCode: Alles auswählen
CLASS DC_XbpBrowseConfig EXPORTED: VAR font VAR presParam VAR useVisualStyleBrowse VAR useVisualStyleScrollBars METHOD Init ENDCLASS * --------------- METHOD DC_XbpBrowseConfig:init() ::font := nil ::presParam := DC_BrowPres() ::useVisualStyleBrowse := .f. ::useVisualStyleScrollBars := .t. RETURN self
Gruß aus Wien
Leon
Leon
-
- 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: XbpBrowse Farbe des Zeilen-Cursors
Danke für die Idee. Wenn, dann aberWolfgang Ciriack hat geschrieben:Gib mal den Colorblock so an:Code: Alles auswählen
oXbpColumn:colorBlock := {<nColorFG>,<nColorBG>,<nColorFGHilite>,<nColorBGHilite>}
Code: Alles auswählen
oXbpColumn:colorBlock := {||{<nColorFG>,<nColorBG>,<nColorFGHilite>,<nColorBGHilite>}}
Zuletzt geändert von UliTs am Mi, 29. Jun 2016 11:27, insgesamt 1-mal geändert.
-------
Mitglied XuG Cologne
Mitglied XuG Osnabrück
Mitglied XuG Cologne
Mitglied XuG Osnabrück
- 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: XbpBrowse Farbe des Zeilen-Cursors
Hallo Uli,
ich bin mir nicht so ganz sicher was Du willst. So wie ich es verstehe willst Du, das auch unter dem Zeilencursor die Hintergrundfarbe der akuellen Felder sichtbar ist?
Das geht mit dem Colorblock nicht. Denn da legst Du fest, welche Farbe der Cursor haben soll. Und die sind nicht transparent.
Du müsstest die Farbe des Cursors abhängig machen von den Werten, wie Du es mit den Hintergrundfarben der nicht markierten Felder auch machst.
Jan
ich bin mir nicht so ganz sicher was Du willst. So wie ich es verstehe willst Du, das auch unter dem Zeilencursor die Hintergrundfarbe der akuellen Felder sichtbar ist?
Das geht mit dem Colorblock nicht. Denn da legst Du fest, welche Farbe der Cursor haben soll. Und die sind nicht transparent.
Du müsstest die Farbe des Cursors abhängig machen von den Werten, wie Du es mit den Hintergrundfarben der nicht markierten Felder auch machst.
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: XbpBrowse Farbe des Zeilen-Cursors
Ich vermute, VisualStyle gibt es nicht bei 1.90.331.Leon hat geschrieben:Wenn VisualStyle auf .T. gesetzt und eine .manifest Datei vorhanden ist, sollte der Zeilencursor so durchsichtig angezeigt werden, dass die Hintergrundfarben der Zellen sichtbar bleiben.
-------
Mitglied XuG Cologne
Mitglied XuG Osnabrück
Mitglied XuG Cologne
Mitglied XuG Osnabrück
-
- 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: XbpBrowse Farbe des Zeilen-Cursors
Danke für die Nachricht.Jan hat geschrieben:...
Du müsstest die Farbe des Cursors abhängig machen von den Werten, wie Du es mit den Hintergrundfarben der nicht markierten Felder auch machst.
...
Nur wie ändere ich die Hintergrundfarbe im Zeilencursor in Abhängigkeit von der Spalte?
-------
Mitglied XuG Cologne
Mitglied XuG Osnabrück
Mitglied XuG Cologne
Mitglied XuG Osnabrück
- Wolfgang Ciriack
- Der Entwickler von "Deep Thought"
- Beiträge: 2945
- Registriert: Sa, 24. Sep 2005 9:37
- Wohnort: Berlin
- Hat sich bedankt: 14 Mal
- Danksagung erhalten: 34 Mal
- Kontaktdaten:
Re: XbpBrowse Farbe des Zeilen-Cursors
Ich mache das so wie oben angegeben und es klappt, allerdings ohne visualstyle.
Damit ich sehe, wenn ein Wert z.B. grün ist, setze ich die Vordergrundfarbe für Hilite auf grün, die Hintergrundfarbe Hilite auf nil.
Also so:
Damit ich sehe, wenn ein Wert z.B. grün ist, setze ich die Vordergrundfarbe für Hilite auf grün, die Hintergrundfarbe Hilite auf nil.
Also so:
Code: Alles auswählen
{GRA_CLR_GREEN,GRA_CLR_DARKGRAY,GRA_CLR_GREEN,nil}
Viele Grüße
Wolfgang
Wolfgang
- 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: XbpBrowse Farbe des Zeilen-Cursors
hast du dir die Class in XbpLocalCol.zip angesehen ?UliTs hat geschrieben:Nur wie ändere ich die Hintergrundfarbe im Zeilencursor in Abhängigkeit von der Spalte?
du musst die Methode HiliteRow() "überschreiben" um o:Colorblock zu sehen.
gruss by OHR
Jimmy
Jimmy
-
- 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: XbpBrowse Farbe des Zeilen-Cursors [ERLEDIGT]
Hallo Wolfgang,
ich vermute, das ist keine Original XbpBrowse()-Klasse, denn diese erwartet definitiv (in der 1.90.331) einen Codeblock.
Ich habe jetzt aber eine Lösung gefunden:
Dabei ist UTsGraSetBrigthness() eine UDF, die die Helligkeit eines Farbwertes verändert. Man kann stattdessen auch etwas beliebig anderes einsetzen . Funktioniert gut!
ich vermute, das ist keine Original XbpBrowse()-Klasse, denn diese erwartet definitiv (in der 1.90.331) einen Codeblock.
Ich habe jetzt aber eine Lösung gefunden:
Code: Alles auswählen
CLASS UTsXbpColumn FROM XbpColumn
EXPORTED
METHOD hiliteRow( nRowPos,lHilite,lFrame,Repaint )
ENDCLASS
METHOD UTsXbpColumn:hiliteRow( nRowPos,lHilite,lFrame,Repaint )
LOCAL lResult,aColor,aRGBColor
IF ValType( ::colorBlock )=="B" // Farbe explizit angegeben!
IF lHilite .OR. lFrame
// Cursorzeile wird gezeichnet -> Cursorfarbe selbst angeben!
aColor := Eval( ::colorBlock,::EditBuffer/*xCaption*/,self/*oXbpColumn*/,nRowPos )
aRGBColor := GraGetRGBIntensity( aColor[2]/*nRGBColor*/ )
IF .NOT. aRGBColor=NIL // Ohne Hintergrundfarbe keine Farbanpassung
lFrame := FALSE
lHilite := FALSE
aColor[1] := UTsGraSetBrightness( aColor[1]/*nRGBColor*/, 80/*nProzent*/ )
aColor[2] := UTsGraSetBrightness( aColor[2]/*nRGBColor*/,100/*nProzent*/ ) // Hintergrundfarbe laesst sich nur veraendern, wenn lFrame=lHilite=FALSE
ENDIF
ELSE
// normale Zeile wird gezeichnet -> vorgegebene Cursorfarbe nehmen!
aColor := Eval( ::colorBlock )
ENDIF
::DataArea:SetCellColor ( nRowPos,aColor[1]/*nColorFG*/,aColor[2]/*nColorBG*/,FALSE/*lRepaint*/ )
ENDIF
lResult := ::XbpColumn:hiliteRow( @nRowPos,@lHilite,@lFrame,@Repaint )
RETURN( lResult )
-------
Mitglied XuG Cologne
Mitglied XuG Osnabrück
Mitglied XuG Cologne
Mitglied XuG Osnabrück
- Wolfgang Ciriack
- Der Entwickler von "Deep Thought"
- Beiträge: 2945
- Registriert: Sa, 24. Sep 2005 9:37
- Wohnort: Berlin
- Hat sich bedankt: 14 Mal
- Danksagung erhalten: 34 Mal
- Kontaktdaten:
Re: XbpBrowse Farbe des Zeilen-Cursors [ERLEDIGT]
Ja, natürlich in einem Codeblock, mir ging es um die 4 Werte - statt 2.
Das musste ich bei XBase2.0 auch überall so ändern (gegenüber 1.9), da sonst immer FGHiliteColor schwarz war.
Allerdings hast du Recht, ich benutze eXPress
Das musste ich bei XBase2.0 auch überall so ändern (gegenüber 1.9), da sonst immer FGHiliteColor schwarz war.
Allerdings hast du Recht, ich benutze eXPress
Viele Grüße
Wolfgang
Wolfgang