AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi TDrawGrid als Bitmap speichern
Thema durchsuchen
Ansicht
Themen-Optionen

TDrawGrid als Bitmap speichern

Ein Thema von hoef · begonnen am 17. Jan 2005 · letzter Beitrag vom 18. Jan 2005
Antwort Antwort
hoef
(Gast)

n/a Beiträge
 
#1

TDrawGrid als Bitmap speichern

  Alt 17. Jan 2005, 22:50
Hallo mal,
Verzweifelt suche ich mal wieder eure Hilfe. Ich versuche schon seit einiger Zeit eine TDrawGrid in die Zwischenablage zu kopieren (also ne Art Screenshot), bzw. Die TDrawGrid als BMP zu speichern.

Freue mich für jede Anregung...

Danke im Voraus
  Mit Zitat antworten Zitat
omata

Registriert seit: 26. Aug 2004
Ort: Nebel auf Amrum
3.154 Beiträge
 
Delphi 7 Enterprise
 
#2

Re: TDrawGrid als Bitmap speichern

  Alt 18. Jan 2005, 18:33
Moin,

schau dir mal folgendes an...

Delphi-Quellcode:
procedure DrawGridToClipboard(DrawGrid: TDrawGrid);
var Bitmap: TBitMap;
    i, Hoehe, Breite:integer;
begin
  Bitmap:=TBitmap.Create;
  try
    Bitmap.HandleType:=bmDIB;
    Hoehe:=0;
    for i:=1 to DrawGrid1.RowCount do
      Hoehe:=Hoehe + DrawGrid.RowHeights[i-1] + DrawGrid.GridLineWidth;
    Breite:=0;
    for i:=1 to DrawGrid.ColCount do
      Breite:=Breite + DrawGrid.ColWidths[i-1] + DrawGrid.GridLineWidth;
    Bitmap.Width:=Breite;
    Bitmap.Height:=Hoehe;
    BitBlt(Bitmap.Canvas.Handle, 0, 0, breite, hoehe,
           DrawGrid.Canvas.Handle, 0, 0, cmSrcCopy);
    Clipboard.Assign(Bitmap);
  finally
    Bitmap.free;
  end;
end;
MfG
Thorsten
  Mit Zitat antworten Zitat
hoef
(Gast)

n/a Beiträge
 
#3

Re: TDrawGrid als Bitmap speichern

  Alt 18. Jan 2005, 21:12
Tausend Dank, funktioniert einwandfrei . Ich hab jetzt nur noch eine unwissende Frage: Wo kann ich mich über das 'Handle' schlau machen. daran scheiterte meine Funktion wieder einmal .
  Mit Zitat antworten Zitat
omata

Registriert seit: 26. Aug 2004
Ort: Nebel auf Amrum
3.154 Beiträge
 
Delphi 7 Enterprise
 
#4

Re: TDrawGrid als Bitmap speichern

  Alt 18. Jan 2005, 21:32
Moin,

das verstehe ich jetzt nicht. Es funktioniert einwandfrei, was geht dann nicht?
Welches Handle meinst du? (es gibt zwei in der Prozedur)

Fragen über Fragen

MfG
Thorsten
  Mit Zitat antworten Zitat
hoef
(Gast)

n/a Beiträge
 
#5

Re: TDrawGrid als Bitmap speichern

  Alt 18. Jan 2005, 22:24
Sorry, war jetzt etwas unverständlich. Der Code funktioniert wie nach Wunsch. Ich kam auf die Frage (Handle) da du Bitmap.HandleType benutzest. Ich komme nicht ganz hinter die property Handle, also was da genau geschieht und wann ich Handle-Property oder Befehle genau benutze.

Sorry für die Mühe
  Mit Zitat antworten Zitat
omata

Registriert seit: 26. Aug 2004
Ort: Nebel auf Amrum
3.154 Beiträge
 
Delphi 7 Enterprise
 
#6

Re: TDrawGrid als Bitmap speichern

  Alt 18. Jan 2005, 23:35
Also,

das Handle ist nur eine Zahl, die den Zugriff auf das Objekt erlaubt. Hinter dieser Zahl verbirgt sich einfach der Strukturlosezugriff auf Elemente (meisst grafische Flächen, aber auch bei Dateien wird dieses Konzept benutzt, und andere...)

Dadurch konnte die BitBlt-Prozedur ganz allgemein definiert werden und sie kann so auf verschiedenen Komponenten arbeiten.

MfG
Thorsten
  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 14:03 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