![]() |
AW: teechartgrafik in groupbox speichern
Liste der Anhänge anzeigen (Anzahl: 2)
Ich glaube, das meinte er auch nur eher als Witz. Aber wenn ich dich nicht falsch verstehe können wir uns ein "SaveToFile" doch so selber bauen, oder?
Delphi-Quellcode:
Der Button2 sagt
type
TWinControlHelper = class helper for Vcl.Controls.TWinControl public procedure SaveToFile(const fileName: String); virtual; end; procedure TWinControlHelper.SaveToFile(const fileName: String); var DC: HDC; bmp: TBitmap; begin DC := GetWindowDC(Handle); try bmp := TBitmap.Create(); try bmp.SetSize(ClientWidth, ClientHeight); BitBlt( bmp.Canvas.Handle, 0, 0, bmp.Width, bmp.Height, DC, 0, 0, WinApi.Windows.SRCCOPY ); bmp.SaveToFile(fileName); finally bmp.Destroy(); end; finally ReleaseDC(Handle, DC); end; end;
Delphi-Quellcode:
. Was dabei herauskommt siehst du im Anhang. Ist doch richtig so, oder?
procedure TForm15.Button2Click(Sender: TObject);
begin GroupBox1.SaveToFile('x:\myGroupbox.bmp); end; |
AW: teechartgrafik in groupbox speichern
Na ja, so ab und zu wäre doch bei einigen Antworten doch ein kleines Smiley sinnvoll gewesen, oftmals nimmt man die Antworten sonst zu ernst.
Nun zur Frage und eine mögliche Lösung: 1. Bei der Groupbox ist Canvas (leider) nicht published, also müssen wir als erstes eine Ableitung der Groupbox erstellen und den Canvas als published definieren:
Delphi-Quellcode:
2. Jetzt sollte das Speichern der Groupbox als Bild eigentlich keine Probleme mehr darstellen:
type TNewGroupBox = class(TGroupBox)
public property Canvas; end;
Delphi-Quellcode:
var Bitmap: TBitmap; Rect: TRect; begin Rect.Left:= 0; Rect.Top:= 0; Rect.bottom:= groupbox1.Height; Rect.Right:= groupbox1.Width; Bitmap := TBitmap.Create; Bitmap.SetSize(Groupbox1.Width, Groupbox1.Height); Bitmap.Canvas.CopyRect(Rect,TNewGroupBox(groupbox1).Canvas, Rect); Bitmap.SaveToFile(filename); //irgendetwas.bmp ... Bitmap.free; |
AW: teechartgrafik in groupbox speichern
Zitat:
Delphi-Quellcode:
BitBlt(GroupBox1.Canvas.Handle, 0, 0, Bitmap.Width, Bitmap.Height, Bitmap.Canvas.Handle,
0, 0, SrcCopy); |
AW: teechartgrafik in groupbox speichern
Zitat:
|
AW: teechartgrafik in groupbox speichern
Ab keiner. Einfach Klassenhelfer machen (siehe oben) und gut ist ;-)
|
AW: teechartgrafik in groupbox speichern
Zitat:
Aber: Eigentlich erwarte ich in einem Beispielcode eines Moderators schon entweder Code der funktioniert, oder der Hinweis, wie der Code zum funktionieren gebracht werden kann. So wie der Code da steht, wird jeder Anfänger verzweifeln, wenn er das Beispiel umsetzen möchte. |
AW: teechartgrafik in groupbox speichern
Offensichtliche Witze müssen also ab jetzt gekennzeichnet werden, Moderatoren haben gefälligst funktionierenen Code zu posten und du bist hier der Chef. Alles klar, Boß, dein Wunsch ist mir Befehl :P Vielleicht sollte man bei derartigen Ansprüchen einfach eine Gebühr einführen: Du willst funktionierenen Code? Kein Problem, was zahlst du? :lol:
Mit einer ausgeprägten Verzweiflungsneigung steht man sich beim Lernen selbst im Weg. Letztendlich kommt die Verzeiflung daher, daß man ohne Basiskenntnisse einfach drauflosklickt und die unbehandelte Verzeiflungsneigung dann sofort zuschlägt, wenn's nicht gleich auf Anhieb klappt. Anders ausgedrückt: Anfänger, denen man immer nur funktionierenden Code präsentiert, den sie nicht verstehen, lernen nichts dazu. Copy&Paste <> Umsetzen. Woher nur kommt diese ausufernde Anspruchshaltung? |
AW: teechartgrafik in groupbox speichern
Wir haben jetzt schon drei Leute die, im Kern, den selben Code posten. Hartfrid könnte sich darüber freuen. Wir könnten alle das schöne Wetter genießen. Stattdessen fangen wahrscheinlich wieder gleich alle an sich zu bewerfen. :|
|
AW: teechartgrafik in groupbox speichern
Zitat:
Ich fühle mich angegriffen von Dir und erwarte eine Entschuldigung! Grundsätzlich bin ich aber der Meinung, wer etwas Konstruktives zu einem Beitrag beisteuern kann soll dies auch tun, wer nicht bereit ist auf eine Frage einzugehen soll doch besser schweigen. Was ist falsch daran andere darauf hinzuweisen, dass ein Code nicht funktioniert? Nicht funktionieren kann ohne weiteres Grundwissen? Vorwürfe an konstruktive Teilnehmer im Forum, ist es wirklich das was du wolltest? |
AW: teechartgrafik in groupbox speichern
Sorry, ich habe dich nicht angegriffen, das ist dein subjektives Empfinden, entspricht jedoch nicht meiner Intention. Dennoch hattest du geschrieben:
Zitat:
Meiner Ansicht nach hat hier keiner einen Anspruch auf funktionierenden Code. Es gibt hier nicht einmal einen Anspruch darauf, daß Anfragen beantwortet werden. Wenn du der Meinung bist, du müßtest den gepostesten Code eines Users korrigieren, damit er funktioniert, steht dir das jederzeit frei. Hier zeigst du ganz eindeutig eine Überreaktion :-D Des weiteren habe ich auf die Tatsache hingewiesen, daß gerade Anfänger durch Code, den sie lediglich in der Erwartung, er funktioniere auf Anhieb, kopieren, nicht wirklich etwas lernen. Das würde nämlich darauf hinauslaufen, daß die User hier einem Anfänger die Programmierarbeit abnehmen und für ihn das Programm schreiben. Diese Thematik wurde nicht nur in diesem Forum bereits bis zum Abwinken durchgekaut und sollte jedem, der hier bereits ein paar Jahre dabei ist, geläufig sein. Wieso du dich dadurch angegriffen fühlst, ist mir zwar ein Rätsel, aber letztendlich deine Sache – ich muß es nicht verstehen. Es ist aber wohl noch gestattet, sich über gewisse überzogene Ansprüche lustig zu machen. Auch wenn du hier im Grunde nicht wirklich der Boß bist, möchte ich dich darum bitten, mir weiterhin zu gestatten, hin und wieder eine Aussage in witziger Form zu kommentieren und nicht sofort alles auf dich zu beziehen. Wie gesagt kann ich hier keinen persönlichen Angriff erkennen und sehe daher auch keine Veranlassung, irgend eine erzwungene und damit geheuchelte Entschuldigung auszusprechen. Wieso schreibst du mir nicht einfach via PM, wodurch du dich nun so angegriffen gefühlt hast, sondern schreist* stattdessen hier das Forum zusammen? Dann können wir das nämlich in Ruhe klären und müssen damit nicht die User belästigen. * Fettschrift wird gewöhnlich als Schreien interpretiert, insbesondere dann, wenn damit ein Vorwurf formuliert wird. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:19 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 by Thomas Breitkreuz