DCBROWSE mehrzeilig

Moderator: Moderatoren

Antworten
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21165
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 206 Mal
Danksagung erhalten: 67 Mal

DCBROWSE mehrzeilig

Beitrag von Manfred »

Hi,

ich habe jetzt schon etliches durchgesehen, aber irgendwie blicke ich nicht durch. Wie macht man mehrzeilige Browse in express++?

z.B. 1 Artikel 3 Zeilen dann der nächste Artikel wieder 3 Zeilen. usw.
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Benutzeravatar
Wolfgang Ciriack
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2932
Registriert: Sa, 24. Sep 2005 9:37
Wohnort: Berlin
Hat sich bedankt: 13 Mal
Danksagung erhalten: 34 Mal
Kontaktdaten:

Re: DCBROWSE mehrzeilig

Beitrag von Wolfgang Ciriack »

Hallo Manfred,
du must die Zeilenhöhe über die Presentationparameter setzen, z.B.

Code: Alles auswählen

local aPres1:={ {XBP_PP_COMPOUNDNAME, gdl_cSayFont }, ;
                {XBP_PP_COL_HA_FGCLR, GRA_CLR_BLACK }, ;
                {XBP_PP_COL_HA_BGCLR, GRA_CLR_BACKGROUND}, ;
                {XBP_PP_COL_DA_FGCLR, GRA_CLR_BLACK }, ;
                {XBP_PP_COL_DA_BGCLR, GRA_CLR_WHITE}, ;
                {XBP_PP_HILITE_BGCLR, GRA_CLR_MYDARKBLUE}, ;
                {XBP_PP_COL_DA_ROWSEPARATOR, XBPCOL_SEP_DOTTED }, /* Row Sep          */  ;
                {XBP_PP_COL_DA_COLSEPARATOR, XBPCOL_SEP_DOTTED }, /* Col Sep          */  ;
                {XBP_PP_COL_DA_ROWHEIGHT, 55 },                  /* Row Height       */  ;
                {XBP_PP_COL_HA_COMPOUNDNAME, gdl_cHeadFont} }
Dann kannst du die Zeilen setzen über:

Code: Alles auswählen

DCBROWSECOL DATA { {|| zeile1 }, ;
                   {|| zeile2 }, ;
                   {|| Zeile3 } } ......
Allerdings gibt es ein paar Einschränkungen bzgl. Farbdarstellungen. Wenn du das noch willst, solltest due OWNERDRAWING verwenden.
Viele Grüße
Wolfgang
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21165
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 206 Mal
Danksagung erhalten: 67 Mal

Re: DCBROWSE mehrzeilig

Beitrag von Manfred »

oh
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Benutzeravatar
Wolfgang Ciriack
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2932
Registriert: Sa, 24. Sep 2005 9:37
Wohnort: Berlin
Hat sich bedankt: 13 Mal
Danksagung erhalten: 34 Mal
Kontaktdaten:

Re: DCBROWSE mehrzeilig

Beitrag von Wolfgang Ciriack »

Wie oh, oh gut oder oh Katastrophe :?:
Viele Grüße
Wolfgang
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21165
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 206 Mal
Danksagung erhalten: 67 Mal

Re: DCBROWSE mehrzeilig

Beitrag von Manfred »

sorry,

oh für: so geht das?

Das habe ich überhaupt noch nicht gewußt.
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 9345
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 100 Mal
Danksagung erhalten: 359 Mal
Kontaktdaten:

Re: DCBROWSE mehrzeilig

Beitrag von Tom »

Das funktioniert allerdings nicht mehr, wenn visuelle Stile aktiv sind (also z.B. eine Manifestdatei vorgefunden wird). Dann ist dieses Browse fehlerhaft. Ich empfehle dringend, für solche Fälle mit Ownerdrawing zu arbeiten. Beispiele für Browses mit Ownerdrawing, die mehrzeilige Daten anzeigen können, hatte ich, glaube ich, auch schon gepostet.
Herzlich,
Tom
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21165
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 206 Mal
Danksagung erhalten: 67 Mal

Re: DCBROWSE mehrzeilig

Beitrag von Manfred »

Ich hatte hier auch was darüber gelesen, aber irgendwie nicht verstanden, wie das klappen soll.
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 9345
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 100 Mal
Danksagung erhalten: 359 Mal
Kontaktdaten:

Re: DCBROWSE mehrzeilig

Beitrag von Tom »

Hallo, Manfred.

Anbei eines meiner Beispiele von vor zwei Jahren. Mit /PM:PM linken und eine Manifestdatei für die EXE erzeugen. Funktioniert ohne Datenbank, weil ein Array gebraust wird. Zeilen werden mehrzeilig, wenn sie CrLf enthalten (Chr(13)+Chr(10)).

Um das mit eXpress++ zu verwenden, muss die Beispielklasse per Subclassing eingebunden werden:

Code: Alles auswählen

@ ... DCBROWSE ... SUBCLASS 'XbpBrowseCustom()'
Die Spalten müssen für Ownerdrawing aktiviert werden:

Code: Alles auswählen

DCBROWSECOL ... EVAL {|o|o:DataArea:DrawMode := XBP_DRAW_OWNER}
Die Klasse selbst muss von DC_XbpBrowse abgeleitet werden:

Code: Alles auswählen

CLASS XbpBrowseCustom FROM DC_XbpBrowse
...
INLINE METHOD init( oParent, oOwner, aPos, aSize, aPP, lVisible,aGetList )
...
::DC_XbpBrowse:init( oParent, oOwner, aPos, aSize, aPP, lVisible,aGetList )
Das ist schon alles. Ein DCBROWSE, das so arbeitet, kann z.B. über den DATA-Codeblock auch Tabelleninhalte mehrzeilig anzeigen:

Code: Alles auswählen

DCBROWSECOL DATA {||db->name1+Chr(13)+Chr(10)+db->name2} HEADER "Namen" PARENT oBrowse EVAL {|o|o:DataArea:DrawMode := XBP_DRAW_OWNER}
Dateianhänge
sample.prg
(8.09 KiB) 246-mal heruntergeladen
Herzlich,
Tom
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21165
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 206 Mal
Danksagung erhalten: 67 Mal

Re: DCBROWSE mehrzeilig

Beitrag von Manfred »

Danke Tom,

jetzt wird mir einiges klarer.
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 9345
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 100 Mal
Danksagung erhalten: 359 Mal
Kontaktdaten:

Re: DCBROWSE mehrzeilig

Beitrag von Tom »

Keine Ursache. :)

In diesem Beispielcode ist noch einiges an Spielereien. Er zeigt z.B. in der Spalte ein Icon an, wenn das Wort "Berlin" im Text vorkommt. Das brauchst Du in Deiner App vermutlich nicht, aber Du könntest es vielleicht sinnvoll abändern.
Herzlich,
Tom
Antworten