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
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()