![]() |
Canvas in nonVCL?
Hallo,
also ich habe mir mit dem VC++ Ressource Editor ein DialogFeld gebastelt, testweise mit einem Picture(Type= Frame) enthalten. Den Dialog rufe ich mit...
Delphi-Quellcode:
...auf.
hdlg := DialogBoxParam(HInstance, MAKEINTRESOURCE(101), 0, @MainDlg, 0);
Wie könnte ich nun Canvas benutzen bzw. auf die Canvas von einzelnen Controls zugreifen? Ich hatte es mit
Delphi-Quellcode:
probiert, aber das führte nur zu Grafikfehlern auf meinem Desktop.
var DC: HDC;
cTemp: TCanvas; begin DC := GetDC(hdlg); cTemp := TCanvas.Create; cTemp.Handle := DC; cTemp.FillRect( cTemp.ClipRect ); cTemp.Free; ReleaseDC( hdlg, DC); vielen Dank im vorraus Florian |
Re: Canvas in nonVCL?
Ist ein Canvas nicht teil der VCL? Also wäre doch Canvas und nonVCL ein Widerspruch in sich.
Ich könnte mich auch irren... |
Re: Canvas in nonVCL?
Das kann nicht gut gehen. Du mischt nonVCL mit VCL Methoden. Wie man auf dem Canvas zeichnet, kannst du dir in meinen
![]() |
Re: Canvas in nonVCL?
Was hast du denn vor?
Wenn du mit GetDC einen Gerätekontext holst (das ist eine Art Windows-API-Canvas) und dort hinein zeichnest, dann sind die Änderungen bei der nächsten Aktualisierung der Fenster wieder weg. Außerdem solltest du dann direkt die GDI-Funktionen benutzen. Wenn du die Hintergrundfarbe einzelner Controls ändern willst, dann solltest du lieber die Meldungen WM_CTLCOLORxxx (z.B. WM_CTLCOLORSTATIC) in deiner Dialogroutine abfangen. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:17 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