AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

DC leeren

Ein Thema von Dax · begonnen am 10. Mär 2004 · letzter Beitrag vom 12. Mär 2004
Antwort Antwort
Seite 1 von 2  1 2      
Dax
(Gast)

n/a Beiträge
 
#1

DC leeren

  Alt 10. Mär 2004, 07:23
Ich habe mir von mein Fenster den DC geholt und mit DrawText etwas draufgezeichnet.
Nun, den Text will ich wieder loswerden!
Nur: wie mach ich das?
  Mit Zitat antworten Zitat
Benutzerbild von Phoenix
Phoenix
(Moderator)

Registriert seit: 25. Jun 2002
Ort: Hausach
7.641 Beiträge
 
#2

Re: DC leeren

  Alt 10. Mär 2004, 08:21
Hrm.

Ich würde vorschlagen mit Invalidate und Repaint. Kann auch sein das ein Repaint das invalidate automatisch macht, hab grad keine OH vorliegen.
Sebastian Gingter
Phoenix - 不死鳥, Microsoft MVP, Rettungshundeführer
Über mich: Sebastian Gingter @ Thinktecture Mein Blog: https://gingter.org
  Mit Zitat antworten Zitat
Dax
(Gast)

n/a Beiträge
 
#3

Re: DC leeren

  Alt 11. Mär 2004, 07:19
Ich will ja nix sagen, aber das geht nicht!
  Mit Zitat antworten Zitat
teebee

Registriert seit: 17. Jan 2003
Ort: Köln
460 Beiträge
 
Delphi 6 Professional
 
#4

Re: DC leeren

  Alt 11. Mär 2004, 08:46
Wenn Du nur in den Client-Bereich des Fensters malst, d.h den DC mit GetDC geholt hast, dann funktioniert Invalidate.
Wenn Du den DC mit GetWindowDC holst, also auch auf NonClient-Bereiche malen kannst, dann funktioniert Invalidate nicht, dann musst Du Dein Fenster zwingen, seinen NC-Bereich neu zu malen:SetWindowPos(Handle,0,0,0,0,0,SWP_FRAMECHANGED Or SWP_NOMOVE Or SWP_NOSIZE Or SWP_NOZORDER); Gruß, teebee
  Mit Zitat antworten Zitat
Dax
(Gast)

n/a Beiträge
 
#5

Re: DC leeren

  Alt 12. Mär 2004, 07:23
Sorry Leute, ich hätte sagen sollen, dass der Fenster-DC (und das Fenster selbst) TRANSPARENT sind.

Hab' aber doch 'ne Lösung geunden:
Delphi-Quellcode:
var wnd: RECT;

SetWindowRgn(DC, CreateRectRgn(0, 0, 0, 0));
GetClientrect(wnd);
SetWindowRgn(DC, CreateRectRgnIndirect(wnd));
Das geht!

BtW: Die umständlichkeit der Window-API beim Zeichnen ist zum
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#6

Re: DC leeren

  Alt 12. Mär 2004, 07:33
Aber du weißt, was du machst. Wöhrend hingegen bei der VC weißt du nicht so genau, was die intern so macht.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Dax
(Gast)

n/a Beiträge
 
#7

Re: DC leeren

  Alt 12. Mär 2004, 07:53
Das ist das schöne an der API: komplette Kontrolle. Allerdings muss sie durch umständlichkeit und komplexität erkauft werden.
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#8

Re: DC leeren

  Alt 12. Mär 2004, 07:54
Nicht unbedingt. Man muss nur einmal kapiert haben wie der Hase läuft.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Dax
(Gast)

n/a Beiträge
 
#9

Re: DC leeren

  Alt 12. Mär 2004, 07:55
Aber bis man DAS kapiert hat....


dauert's 'ne Weile.
  Mit Zitat antworten Zitat
Robert_G
(Gast)

n/a Beiträge
 
#10

Re: DC leeren

  Alt 12. Mär 2004, 08:14
OT:
Und dann ist für die Katz'. Weil man unter .Net damit nix anfangen kann.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:08 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