![]() |
Desktop Canvas Clear ?
Hallo
ich habe so was auf den Desktop gezeichnet
Delphi-Quellcode:
var DP: TCanvas; begin DP := TCanvas.Create; DP.Handle := GetDC(0); DP.font.Height:=(40); DP.font.Name:=('Verdana'); DP.font.Color:=(cllime); DP.font.Style:=[fsBold]; DP.TextOut(round(Screen.width/2-150),round(Screen.height/2+Screen.height/4),'Laustärke :'+inttostr(100-round(100/72*Form2.Trackbar1.position))+' %'); ReleaseDC(0, DP.Handle); DP.Handle := 0; DP.Free; end; wie bekomme ich das wieder weg ? MfG |
Re: Desktop Canvas Clear ?
|
Re: Desktop Canvas Clear ?
Mit
Delphi-Quellcode:
würde es gehen aber der ganze Desktop flimmert dann immer kurz auf.
invalidaterect(windowfromdc(0), nil, false);
Könnte man es vielleicht mit transparenter Farbe übermalen ? Ich hab das mit clnone probiert aber dann wird es schwarz. MfG |
Re: Desktop Canvas Clear ?
Das muss doch irgendwie gehen oder ? Vielleicht wenn man das anders draufzeichnet ?
Oder kann man wenigstens nur einen Teil des Desktops neuzeichen ? MfG |
Re: Desktop Canvas Clear ?
Denken hilft. Ich wuerde mal InvalidateRect in der Win32-Hilfe nachschlagen. Fuer irgendwas muss der Namensbestandteil "Rect" doch gut sein.
|
Re: Desktop Canvas Clear ?
Gibt es keine andere möglichkeit ? Wer eine Logitech Tastatur hat, die hat ja auch so eine Anzeige auf dem Desktop und da geht das auch gut ?
--- Ich habe das jetzt gemacht aber irgendwie wills nicht gehen.
Delphi-Quellcode:
Was habe ich falsch gemacht ?var rectnz:PRect; begin rectnz.Top:=5; rectnz.Bottom:=10; rectnz.Left:=5; rectnz.Right:=20; invalidaterect(windowfromdc(0), rectnz, false); MfG |
Re: Desktop Canvas Clear ?
wenn ich es mit den obirgen koordinaten für die Textausgabe vergleiche würde ich sagen es liegt an dem bereich den du neu zeichnen lässt.
|
Re: Desktop Canvas Clear ?
Der Code ist ja auch falsch.
Delphi-Quellcode:
var
rectnz: TRect; begin rectnz.Top:=5; rectnz.Bottom:=10; rectnz.Left:=5; rectnz.Right:=20; InvalidateRect(WindowFromDC(0), @rectnz, false); |
Re: Desktop Canvas Clear ?
Es ging nicht weil ein Fehler kam nicht weil es da nicht neugezeichnet wurde.
So geht es zwar ohne Fehler, aber irgendwie wird immer noch der ganze Desktop neugezeichnet und es flimmert weiterhin kurz auf. Zitat:
MfG |
Re: Desktop Canvas Clear ?
Zitat:
Somit wird alles Transparent/durchklickbar was die Farbe TransparentColor hat. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 06: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-2025 by Thomas Breitkreuz