Ownerdrawing und Browse-Header [erledigt]

Grafische Primitive, XbaseParts und Darstellungsfragen allgemein.

Moderator: Moderatoren

Antworten
Benutzeravatar
Wolfgang Ciriack
Der Entwickler von "Deep Thought"
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:

Ownerdrawing und Browse-Header [erledigt]

Beitrag von Wolfgang Ciriack »

Kann mit Ownerdrawing eigentlich auch den Browse Header selbst "malen" ?
Hat evtl. jemand einen Tipp oder ein Beispiel ?
Viele Grüße
Wolfgang
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 9358
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 101 Mal
Danksagung erhalten: 361 Mal
Kontaktdaten:

Re: Ownerdrawing und Browse-Header

Beitrag von Tom »

Das funktioniert genauso wie bei den Zellen, mit dem Unterschied, dass man Ownerdrawing nicht für die DrawingArea der Column, sondern für das Heading aktiviert/verwendet (man kann es in derselbe Methode tun, muss dann nur abfangen, wo man unterwegs ist). GetCell und ähnliche Methoden arbeiten dort analog. Normale Headings haben eine Zelle, aber es gibt ja auch mehrzeilige.
Herzlich,
Tom
Benutzeravatar
Wolfgang Ciriack
Der Entwickler von "Deep Thought"
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: Ownerdrawing und Browse-Header

Beitrag von Wolfgang Ciriack »

Und wie aktiviere ich das ?
(bei meinem CustomDrawCell in XbpBrowseUrlaub lande ich nur mit den "normalen" Cells).

Code: Alles auswählen

@4.4,1 DCBROWSE oBrowse ;
     DATA aAktBrw ;
     SIZE br, ho ;
     PRESENTATION aPP ;
     TABSTOP ;
     HEADLINES 2 ;
     FREEZELEFT {1} ;
     SUBCLASS 'XbpBrowseUrlaub()' ;
     EVAL {|o| o:UseVisualStyle:=.F. }

DCBROWSECOL ELEMENT AP_NAME HEADER "Name" WIDTH 12 PARENT oBrowse FONT "10.Arial" 
DCBROWSECOL ELEMENT AP_TGENO HEADER "Tage;gen." WIDTH 3 PARENT oBrowse FONT "10.Arial" 
DCBROWSECOL ELEMENT AP_TPLAN HEADER "Tage;gepl." WIDTH 3 PARENT oBrowse FONT "10.Arial"
for i:=1 to 12
   DCBROWSECOL ELEMENT i HEADER ntocmonth(i)+";1       10        20        30" ;
         WIDTH 54 PARENT oBrowse EVAL {|o|o:DataArea:DrawMode := XBP_DRAW_OWNER}
next
Viele Grüße
Wolfgang
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 9358
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 101 Mal
Danksagung erhalten: 361 Mal
Kontaktdaten:

Re: Ownerdrawing und Browse-Header

Beitrag von Tom »

Code: Alles auswählen

DCBROWSECOL ELEMENT i HEADER ntocmonth(i)+";1       10        20        30" ;
         WIDTH 54 PARENT oBrowse EVAL {|o|o:DataArea:DrawMode := XBP_DRAW_OWNER,o:Heading:DrawMode := XBP_DRAW_OWNER}
In der Zeichenmethode dann abfangen, ob derzeit im Datenbereich oder im Heading gemalt werden soll:

Code: Alles auswählen

IF aInfo[XBP_DRAWINFO_AREA] == aInfo[XBP_DRAWINFO_COLUMN]:Heading // ja, bin im Header
  ..
  ELSE
  // Datenbereich zeichnen
ENDIF
Herzlich,
Tom
Benutzeravatar
Wolfgang Ciriack
Der Entwickler von "Deep Thought"
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: Ownerdrawing und Browse-Header

Beitrag von Wolfgang Ciriack »

Danke, probiere ich morgen gleich aus.
Viele Grüße
Wolfgang
Benutzeravatar
Wolfgang Ciriack
Der Entwickler von "Deep Thought"
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: Ownerdrawing und Browse-Header [erledigt]

Beitrag von Wolfgang Ciriack »

Prima, danke, hat geklappt.
urlaub.gif
urlaub.gif (51.97 KiB) 3513 mal betrachtet
Viele Grüße
Wolfgang
Antworten