Hallo,
ich sitze nun seit Tagen an diesem Problem und komm kein Stückchen weiter! Vielleicht kann mich hier einer von meinen Leiden erlösen
Ich benutze die graphics32 Library (leider Voraussetzung) und zeichne direkt auf ein Bitmap32 ein Diagramm. Nun möchte ich auch das Diagramm beschriften.
http://www.bobinger-armaturen.de/Diagramm.jpg
Den Text gebe ich mit folgender Prozedur aus:
Delphi-Quellcode:
procedure TTriangle.rotatedTextOut(x, y, winkel, groesse: Integer; txt:
string);
var
hfont, fontold: Integer;
dc: hdc;
fontname:
string;
begin
if length(txt)=0
then exit;
dc:= FDrawArea.Canvas.Handle;
fontname:= FDrawArea.Font.
Name;
hfont:= CreateFont(-groesse,0,winkel*10,0,fw_normal,0, 0, 0, 1, PROOF_QUALITY, $10, 4, 4, PChar(fontname));
fontold:= SelectObject(
dc, hfont);
TextOut(
dc, x, y, PChar(txt), length(txt));
SelectObject(
dc, fontold);
DeleteObject(hfont);
end;
Allerdings wird der Text, wie man oben sehen kann, nicht wie erwartet ausgegeben. Ich habe zuerst vermutet, dass das an dem DrawMode des Bitmaps32 liegt und da alle Modis ausprobiert, allerdings auch nicht mit einem ausreichenden Ergebnis. Bei dmBlend wird gar kein Text ausgegeben und nur das Diagramm. Bei dmTransparent wie Bild oben und dmCustom wie folgt
http://www.bobinger-armaturen.de/Diagramm1.jpg
Zugegeben, ich hab erst vor drei Wochen mit Delphi angefangen und versuch mich wirklich durchzuschlagen. Also bitte ich entsprechend Berücksichtigung in den weitergehenden Hilfestellung und Antworten.
Ursprünglich wollte ich das Ganze mit Layer aufbauen, was für mich zuerst einfacher war, am Diagramm auszurichten. Als sogenannte Platzhalter für die Beschriftung, in denen ich dann alles mögliche, aber zentriert schreiben kann. Aber wie gesagt, ursprünglich ...
Ich hoffe mir kann hier jemand weiterhelfen?! Bin für jede Hilfe dankbar!!!
Gruß
Thomas