DCBROWSE Wechsel HILITE_BG
Moderator: Moderatoren
- Markus Walter
- Programmier-Gott
- Beiträge: 1018
- Registriert: Di, 24. Jan 2006 10:22
- Wohnort: Saarland
DCBROWSE Wechsel HILITE_BG
Hallo,
ich möchte die Hintergrund-Farbe des Balkens abhängig davon setzen, ob das Browse den Eingabefocus hat oder nicht (sprich der Anwender soll erkennen, dass das Browse aktiv ist - ich möchte nicht HILITEGETS verwenden!).
Das ich nun beim Gotfocus- und lostfocus-Event was tun muss, ist klar. Aber was?! Wenn ich das Presentation-Array ändere und ein refreshall(), bzw. Configure() mache. Stimmt die Anzeige nicht. Kann mir jemand einen Tip geben?
ich möchte die Hintergrund-Farbe des Balkens abhängig davon setzen, ob das Browse den Eingabefocus hat oder nicht (sprich der Anwender soll erkennen, dass das Browse aktiv ist - ich möchte nicht HILITEGETS verwenden!).
Das ich nun beim Gotfocus- und lostfocus-Event was tun muss, ist klar. Aber was?! Wenn ich das Presentation-Array ändere und ein refreshall(), bzw. Configure() mache. Stimmt die Anzeige nicht. Kann mir jemand einen Tip geben?
Gruß
Markus
Mitglied der XUG Saarland-Pfalz
Markus
Mitglied der XUG Saarland-Pfalz
- Wolfgang Ciriack
- Der Entwickler von "Deep Thought"
- Beiträge: 2934
- Registriert: Sa, 24. Sep 2005 9:37
- Wohnort: Berlin
- Hat sich bedankt: 13 Mal
- Danksagung erhalten: 34 Mal
- Kontaktdaten:
Re: DCBROWSE Wechsel HILITE_BG
Hallo Markus,
ich habe das einfach so gelöst, dass das inaktive Browse gar keinen Balken hat: bei GOTFOCUS ein oBrowse:Hilite(), oBrowse2:DeHilte() und bei LOSTFOCUS umgekehrt. Allerdings geht das bei einem DC_Getrefresh(Getlist) wieder verloren, so musst du evtl. auch an anderen stellen mit DeHilte() arbeiten.
ich habe das einfach so gelöst, dass das inaktive Browse gar keinen Balken hat: bei GOTFOCUS ein oBrowse:Hilite(), oBrowse2:DeHilte() und bei LOSTFOCUS umgekehrt. Allerdings geht das bei einem DC_Getrefresh(Getlist) wieder verloren, so musst du evtl. auch an anderen stellen mit DeHilte() arbeiten.
Viele Grüße
Wolfgang
Wolfgang
-
- UDF-Programmierer
- Beiträge: 92
- Registriert: Di, 19. Dez 2006 19:37
- Wohnort: Düsseldorf
- Kontaktdaten:
Re: DCBROWSE Wechsel HILITE_BG
Hallo,
ich ändere die Farben des Headers.
Z. B.
....
GOTFOCUS {||Set_Header_Color(oBrowse,GRA_CLR_RED)};
LOSTFOCUS {||Set_Header_Color(oBrowse,GRA_CLR_DARKGREEN)};
PROCEDURE Set_Header_Color(oBrowse,nColor)
LOCAL i, oColumn
FOR i := 1 TO oBrowse:colCount
oColumn := oBrowse:GetColumn(i)
oColumn:heading:setColorBG(nColor)
NEXT
RETURN
Gruß
Jürgen
ich ändere die Farben des Headers.
Z. B.
....
GOTFOCUS {||Set_Header_Color(oBrowse,GRA_CLR_RED)};
LOSTFOCUS {||Set_Header_Color(oBrowse,GRA_CLR_DARKGREEN)};
PROCEDURE Set_Header_Color(oBrowse,nColor)
LOCAL i, oColumn
FOR i := 1 TO oBrowse:colCount
oColumn := oBrowse:GetColumn(i)
oColumn:heading:setColorBG(nColor)
NEXT
RETURN
Gruß
Jürgen
- Markus Walter
- Programmier-Gott
- Beiträge: 1018
- Registriert: Di, 24. Jan 2006 10:22
- Wohnort: Saarland
Re: DCBROWSE Wechsel HILITE_BG
Hi,
danke für die Anregungen. Ist aber beides nicht wirklich "windows-konform"...
Ich hätte das schon lieber konform (wie z. B. in Verwaltung - Computerverwaltung): Balken ist blau, wenn das Control/Grid den Focus hat und wird grau, sobald der Focus auf ein anderes Control oder Fenster wechselt...
Noch eine Idee?
danke für die Anregungen. Ist aber beides nicht wirklich "windows-konform"...
Ich hätte das schon lieber konform (wie z. B. in Verwaltung - Computerverwaltung): Balken ist blau, wenn das Control/Grid den Focus hat und wird grau, sobald der Focus auf ein anderes Control oder Fenster wechselt...
Noch eine Idee?
Gruß
Markus
Mitglied der XUG Saarland-Pfalz
Markus
Mitglied der XUG Saarland-Pfalz
-
- UDF-Programmierer
- Beiträge: 92
- Registriert: Di, 19. Dez 2006 19:37
- Wohnort: Düsseldorf
- Kontaktdaten:
Re: DCBROWSE Wechsel HILITE_BG
Hallo Marcus,
versuche mal:
GOTFOCUS {||oBrowse:Hilite()};
LOSTFOCUS {||oBrowse:deHilite()}
Gruß
Jürgen
versuche mal:
GOTFOCUS {||oBrowse:Hilite()};
LOSTFOCUS {||oBrowse:deHilite()}
Gruß
Jürgen
-
- UDF-Programmierer
- Beiträge: 92
- Registriert: Di, 19. Dez 2006 19:37
- Wohnort: Düsseldorf
- Kontaktdaten:
Re: DCBROWSE Wechsel HILITE_BG
Hallo Marcus,
die Farbe des Cursors kann wohl nur über die Presentationsparameter des
Column-Objects geändert werden.
XBP_PP_COL_DA_HILITE_FGCLR
XBP_PP_COL_DA_HILITE_BGCLR
Mir wäre das zu aufwändig, dies zur Laufzeit zu realisieren.
Gruß
Jürgen
die Farbe des Cursors kann wohl nur über die Presentationsparameter des
Column-Objects geändert werden.
XBP_PP_COL_DA_HILITE_FGCLR
XBP_PP_COL_DA_HILITE_BGCLR
Mir wäre das zu aufwändig, dies zur Laufzeit zu realisieren.
Gruß
Jürgen
- Markus Walter
- Programmier-Gott
- Beiträge: 1018
- Registriert: Di, 24. Jan 2006 10:22
- Wohnort: Saarland
Re: DCBROWSE Wechsel HILITE_BG
Hallo Jürgen,
aufwendig ist das gar nicht. Nur es stimmt anschließend nicht. Die Darstellung ist geschossen. Ich muss aber noch herausfinden, ob das an Express liegt oder warum es nicht geht...
aufwendig ist das gar nicht. Nur es stimmt anschließend nicht. Die Darstellung ist geschossen. Ich muss aber noch herausfinden, ob das an Express liegt oder warum es nicht geht...
Gruß
Markus
Mitglied der XUG Saarland-Pfalz
Markus
Mitglied der XUG Saarland-Pfalz
-
- UDF-Programmierer
- Beiträge: 92
- Registriert: Di, 19. Dez 2006 19:37
- Wohnort: Düsseldorf
- Kontaktdaten:
Re: DCBROWSE Wechsel HILITE_BG
Hallo Marcus,
hatte schon den Quellcode von Roger durchforstet und nichts gefunden.
Könnte es vielleicht funktionieren, wenn nach dem Ändern des Presentations-Arrays
oBrowse:configure() aufgerufen wird.
Gruß
Jürgen
hatte schon den Quellcode von Roger durchforstet und nichts gefunden.
Könnte es vielleicht funktionieren, wenn nach dem Ändern des Presentations-Arrays
oBrowse:configure() aufgerufen wird.
Gruß
Jürgen
- Tom
- Der Entwickler von "Deep Thought"
- Beiträge: 9357
- Registriert: Do, 22. Sep 2005 23:11
- Wohnort: Berlin
- Hat sich bedankt: 101 Mal
- Danksagung erhalten: 361 Mal
- Kontaktdaten:
Re: DCBROWSE Wechsel HILITE_BG
oBrowse:Configure() bewirkt nichts, wenn man die Presentation-Parameter umstellt. Meines Erachtens muss man XbpCellGroup:HiliteCell() überlagern. Die Quellcodes sind m.E. in der ProfSub enthalten.
Herzlich,
Tom
Tom
-
- UDF-Programmierer
- Beiträge: 92
- Registriert: Di, 19. Dez 2006 19:37
- Wohnort: Düsseldorf
- Kontaktdaten:
Re: DCBROWSE Wechsel HILITE_BG
Hallo Tom,
dann geht das vielleicht?
LOCAL i, oColumn
FOR i := 1 TO oBrowse:colCount
oColumn := oBrowse:GetColumn(i)
oColumn:configure(,,,aPres)
NEXT
Gruß
Jürgen
dann geht das vielleicht?
LOCAL i, oColumn
FOR i := 1 TO oBrowse:colCount
oColumn := oBrowse:GetColumn(i)
oColumn:configure(,,,aPres)
NEXT
Gruß
Jürgen
- AUGE_OHR
- Marvin
- Beiträge: 12906
- Registriert: Do, 16. Mär 2006 7:55
- Wohnort: Hamburg
- Hat sich bedankt: 19 Mal
- Danksagung erhalten: 45 Mal
Re: DCBROWSE Wechsel HILITE_BG
ich sehe kein oBrowse:refreshXXXl()Juergen hat geschrieben:dann geht das vielleicht?
LOCAL i, oColumn
FOR i := 1 TO oBrowse:colCount
oColumn := oBrowse:GetColumn(i)
oColumn:configure(,,,aPres)
NEXT
Das setzte von Parametern nützt gar nichts wenn du die "Cell" nicht neu "malst"
gruss by OHR
Jimmy
Jimmy
-
- UDF-Programmierer
- Beiträge: 92
- Registriert: Di, 19. Dez 2006 19:37
- Wohnort: Düsseldorf
- Kontaktdaten:
Re: DCBROWSE Wechsel HILITE_BG
Hallo Jimmy,
die Frage stand auch in Zusammenhang mit Express++.
Da reicht dann ein dc_getrefresh(getlist).
Ansonsten muß der Dialog neu gezeichnet werden.
oDialog:invalidateRect().
Gruß
Jürgen
die Frage stand auch in Zusammenhang mit Express++.
Da reicht dann ein dc_getrefresh(getlist).
Ansonsten muß der Dialog neu gezeichnet werden.
oDialog:invalidateRect().
Gruß
Jürgen