AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi Kleines Problem mit Canvas
Thema durchsuchen
Ansicht
Themen-Optionen

Kleines Problem mit Canvas

Ein Thema von Schodn · begonnen am 4. Jan 2005 · letzter Beitrag vom 27. Feb 2005
Antwort Antwort
Schodn

Registriert seit: 15. Nov 2004
Ort: Admont
140 Beiträge
 
#1

Kleines Problem mit Canvas

  Alt 4. Jan 2005, 14:15
Möchte ein Stringgrid drucken und ober dem Grid noch etwas hinschreiben
Das Stringgrid druckt er mir mit folgendem Code, aber wo schreib ich was rein um eine Überschrift ober dem Grid hinzuzufügen?

Kann mir das bitte wer sagen


Delphi-Quellcode:
procedure GridDruck(grd:TStringGrid;links,oben:word;scal:double);
var x,y,li,ob,re,un,waag,senk,h,a: integer;
s: string;
function rech(i,j:integer):integer;
begin
    result:=round(((i*j) / 72) * scal);
end;
begin
    if scal > 0 then
    begin
        waag:=getdevicecaps(printer.handle,logpixelsx);
        senk:=getdevicecaps(printer.handle,logpixelsy); // hier + 200
        links:=rech(links,waag);
        oben:=rech(oben, senk);
        a:=rech(3,waag);
        li:=getdevicecaps(printer.handle,physicaloffsetx)+1+links;
        with printer do
        begin
            s:='Grid-Druck';
            title:=s;

            BeginDoc;
            Canvas.Font.Size := 30;

            canvas.font:=grd.font;
            canvas.font.size:=round((grd.font.size / 0.72) * scal);
            h:=canvas.textheight(s);
            canvas.pen.color:=$333333;
            for x:=0 to grd.colcount-1 do
            begin
                if grd.gridlinewidth > 0 then
                begin
                    canvas.pen.style:=pssolid;
                    canvas.pen.width:=1;
                end
                else
                    canvas.pen.style:=psclear;
                ob:=getdevicecaps(printer.handle,physicaloffsety)+1+oben;
                re:=li+rech(grd.ColWidths[x]+1,waag);
                for y:=0 to grd.rowcount-1 do
                begin
                     un:=ob+rech(grd.RowHeights[y]+1,senk);
                     if (x < grd.fixedcols) or (y < grd.fixedrows) then
                         canvas.brush.color:=grd.fixedcolor
                     else
                        canvas.brush.color:=grd.color;
                     canvas.rectangle(li,ob,re,un);
                     canvas.brush.style:=bsclear;
                     canvas.textrect(rect(li+a,ob+1,re-a,un-1),
                     li+a,ob+(un-ob-h)div 2,grd.Cells[x,y]);
                     ob:=un;
                end;
                canvas.brush.color:=clwhite;
                canvas.pen.style:=psclear;
                canvas.rectangle(li,ob+1,re,ob+h);
                li:=re;

            end;
            enddoc;
        end;
    end;
end;

Hier noch der aufruf der Funktion
griddruck(sg_messekalender,sg_messekalender.left,sg_messekalender.top,0.45); mfg

Franz
  Mit Zitat antworten Zitat
Schodn

Registriert seit: 15. Nov 2004
Ort: Admont
140 Beiträge
 
#2

Re: Kleines Problem mit Canvas

  Alt 4. Jan 2005, 15:27
Ok problem Nr1 gelöst, aber wie kann ich noch eine grafik auf diese Seite drucken?
  Mit Zitat antworten Zitat
BKHero2004

Registriert seit: 3. Aug 2004
10 Beiträge
 
Delphi 6 Professional
 
#3

Re: Kleines Problem mit Canvas

  Alt 27. Feb 2005, 16:30
Hallo,

vielleicht sagst Du dem Forum noch Deine Lösung, wie Du eine Überschrift über das Grid druckst?

Würde mich auf jeden Fall und das Forum denke ich auch, sehr freuen!!

Schönen Tag noch

Gruß BKHero2004
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:32 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz