Seite 1 von 1
Cursorzeile einfärben in TBrowse?
Verfasst: Mi, 07. Nov 2018 13:33
von unicorn
Hi Leute,
ich benötige mal wieder eure Hilfe.
Ist es - und wenn ja wie - möglich, die Zeile des Körpers komplett einzufärben?
Meine bisherigen Versuche im TBColumn-Objekt führten dazu, das jede einzelne Zelle farbig war, gar keine, alle Zellen bis auf den Cursor. Leider war das gewünschte Ergebnis nicht dabei...
Würde mich sehr über eine Antwort freuen!
LG Jannik
Re: Cursorzeile einfärben in TBrowse?
Verfasst: Mi, 07. Nov 2018 20:24
von AUGE_OHR
unicorn hat geschrieben: ↑Mi, 07. Nov 2018 13:33
Ist es - und wenn ja wie - möglich, die Zeile des Körpers komplett einzufärben?
versuch es mal mit
Code: Alles auswählen
oBrowse:colorSpec := "W+/BG,W+/R,W+/B"
IF oBrowse:stable
// alert if hit top or bottom of browse
IF oBrowse:hitTop .OR. oBrowse:hitBottom
TONE(125, 0)
ENDIF
oBrowse:colorRect( {oBrowse:rowpos, 1, oBrowse:rowpos, oBrowse:colCount}, {2, 1} )
oBrowse:HILITE()
oBrowse:REFRESHCURRENT()
// everything updated, now wait for a keypress
nKey := INKEY(0)
ENDIF
// Apply the key to the browse
DO CASE
CASE nKey == 5 // Up-arrow
oBrowse:colorRect( {oBrowse:rowpos, 1, oBrowse:rowpos, oBrowse:colCount}, {1, 2} )
oBrowse:HILITE()
oBrowse:REFRESHCURRENT()
oBrowse:up()
CASE nKey == 24 // Down-arrow
oBrowse:colorRect( {oBrowse:rowpos, 1, oBrowse:rowpos, oBrowse:colCount}, {1, 2} )
oBrowse:HILITE()
oBrowse:REFRESHCURRENT()
oBrowse:down()
Re: Cursorzeile einfärben in TBrowse?
Verfasst: Mi, 14. Nov 2018 11:00
von unicorn
Hi Jimmy!
Danke für deine Antwort, es funktioniert fast perfekt!
Leider bleibt die Farbe der Spalte als highlighted in der sich mein Cursor befindet wenn sich der Cursor über den Bildschirmrand bewegt.
Ein vorheriges Dehilite habe ich probiert, das funktioniert leider nicht. Hast du da einen Lösungsvorschlag?
Danke und LG!
Re: Cursorzeile einfärben in TBrowse?
Verfasst: Mi, 14. Nov 2018 17:47
von AUGE_OHR
unicorn hat geschrieben: ↑Mi, 14. Nov 2018 11:00
Leider bleibt die Farbe der Spalte als highlighted in der sich mein Cursor befindet wenn sich der Cursor über den Bildschirmrand bewegt.
was meinst du mit "über den Bildschirmrand"
Re: Cursorzeile einfärben in TBrowse?
Verfasst: Fr, 16. Nov 2018 9:17
von unicorn
Hi Jimmy,
ich meine wenn es mehr Daten(sätze) als Platz gibt im TBrowse, dann bewegt sich mein Cursor erst Richtung Bildschirmrand und dann fängt TBrowse an zu scrollen. Die Spalte in der sich mein Cursor dabei befindet färbt sich dann komplett ein, die anderen Spalten nicht.. Habe dir zum Besseren Verständnis ein Bild angehängt.
- artikelstamm.PNG (111.52 KiB) 7047 mal betrachtet
Re: Cursorzeile einfärben in TBrowse?
Verfasst: Fr, 16. Nov 2018 9:38
von AUGE_OHR
verstanden.
nimm mal die beiden Zeilen raus
Code: Alles auswählen
oBrowse:colorRect( {oBrowse:rowpos, 1, oBrowse:rowpos, oBrowse:colCount}, {2, 1} )
*** oBrowse:HILITE()
*** oBrowse:REFRESHCURRENT()
nKey := INKEY(0.1)
ENDIF
Re: Cursorzeile einfärben in TBrowse?
Verfasst: Fr, 16. Nov 2018 17:19
von unicorn
Hey Jimmy,
das funktioniert prima, ich danke dir!
Gibt es eine Möglichkeit, zu sehen, in welcher Zeile der Cursor sich befindet? Weil gerade hat ja alles eine Farbe...
Danke nochmal!!!
Re: Cursorzeile einfärben in TBrowse?
Verfasst: Fr, 16. Nov 2018 22:14
von AUGE_OHR
unicorn hat geschrieben: ↑Fr, 16. Nov 2018 17:19
Gibt es eine Möglichkeit, zu sehen, in welcher Zeile der Cursor sich befindet? Weil gerade hat ja alles eine Farbe...
du kannst ja das versuchen
Code: Alles auswählen
oBrowse:colorRect( {oBrowse:rowpos, 1, oBrowse:rowpos, oBrowse:colCount}, {4, 2} ) // andere Farbe
oBrowse:HILITE()
**1** oBrowse:REFRESHCURRENT()
das Hilite ist notwendig aber nicht das RefreshCurrent()