AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

StringGrid.OnDrawCell ohne Anzeige auslösen

Ein Thema von messie · begonnen am 30. Mär 2007 · letzter Beitrag vom 2. Apr 2007
 
messie

Registriert seit: 2. Mär 2005
Ort: Göttingen
1.592 Beiträge
 
Delphi 2009 Professional
 
#7

Re: StringGrid.OnDrawCell ohne Anzeige auslösen

  Alt 30. Mär 2007, 12:55
Zitat von uwewo:
Kannst Du mir sagen wie, oder durch welche function das Grid an den Drucker geschickt wird?
Würde das Problem gerne nachstellen.
Delphi-Quellcode:
  form := TTntForm.Create(Application);
  form.Width := 200; //nur damit das Grid nicht beschnitten wird. Denn auch dann
  form.Height := 300;//wird das OnDrawCell für nicht sichtbare Zellen übersprungen.
  SG := TTntStringGrid.Create(form);
  SG.Parent := form;
  SG.Align := alClient;
  SG.Font.Size := 8;
  //Zuweisung der Events - entspricht den Ondrawcell was auch im Form stehen könnte
  SG.OnDrawCell := ObjectUtils.SGDrawCell;
  SG.OnGetEditMask := ObjectUtils.SGGetEditMask;
  dpihor:=GetDeviceCaps(Printer.Handle, LOGPIXELSX);
  dpiver:=GetDeviceCaps(Printer.Handle, LOGPIXELSY);
  //in ShowHeizProg wird das Grid gefüttert - wird im Prog mehrfach benutzt
  //wenn die Forms gezeigt werden, wird auch OnDrawCell aufgerufen
  //im OnDrawCell werden die Größe der Zellen der Schrift angepaßt
  //und Zeilenumbrüche eingebaut.
  ShowHeizProg(SG,Eval.Heizprog);
  //form.ShowModal; -> damit gehts, aber dann muß ich ja das From wegklicken.
  
  //hier wird dann gedruckt. Zellenweise zu Fuß, da scheint es nichts besseres zu geben
  //am elegantesten wäre es, ans Canvas des Grids zu kommen aber das läuft nicht.
  PrintGrid(PP.Canvas,SG,dpihor,dpiver,x,y);

  SG.Free;
  form.Free;
Im Prinzip könnte man das Malen von Kästen und Text ja gleich ganz zu Fuss machen statt über ein Grid aber alle anderen Routinen sind ja schon vorhanden. Überhaupt ist die Windows-Druckerei ein Graus aber das steht auf einem anderen Blatt.

Grüße, Messie
  Mit Zitat antworten Zitat
 


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 23:20 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz