Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Diagrammbeschriftung - rotierten Text anzeigen (https://www.delphipraxis.net/124794-diagrammbeschriftung-rotierten-text-anzeigen.html)

nieltreh 25. Nov 2008 12:31


Diagrammbeschriftung - rotierten Text anzeigen
 
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 :wink:

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


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:52 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