AGB  ·  Datenschutz  ·  Impressum  







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

Problem mit repaint bei eigener Komponente

Ein Thema von SirThornberry · begonnen am 24. Feb 2004 · letzter Beitrag vom 25. Feb 2004
Antwort Antwort
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#1

Problem mit repaint bei eigener Komponente

  Alt 24. Feb 2004, 13:18
Ich hab mir eine neue Komponente von TWinControl abgeleitet (nachfolgend MyCom1 genannt) und darin befinden sich mehrere Buttons. Dann habe ich ein "FadePanel" welches über MyCom1 fadet. Wenn das Pannel dann über MyCom1 weg fadet wird ja die wm_paint an MyCom1 gesendet und alle Buttons darin werden auch repaintet egal ob sie davon betroffen sind oder nicht. Um dies zu verhinern ab ich wm_paint abgefangen und verwurfen.

Mein Problem ist jetzt das ich nicht weiß wie ich herausfinde welchen Button ich manuell repainten muss weil das panel darüber weg ist und welchen nicht. Wie kann ich herauffinden welchen Teil ich von meiner Komponenten repainten muss. also das betroffene rect?
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Benutzerbild von Tonic1024
Tonic1024

Registriert seit: 10. Sep 2003
Ort: Cuxhaven
559 Beiträge
 
RAD-Studio 2009 Ent
 
#2

Re: Problem mit repaint bei eigener Komponente

  Alt 24. Feb 2004, 13:41
Hi...

Kannst du nicht statt wm_paint ganz wegzulassen es bedingt laufen lassen? Die bedingung kannst du dann ja nach Bedarf definieren, jenachdem was du mit dem rect (Shape?) anstellst...
Der frühe Vogel fängt den Wurm, richtig.
Aber wird nicht auch der frühe Wurm vom Vogel gefressen?
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#3

Re: Problem mit repaint bei eigener Komponente

  Alt 25. Feb 2004, 06:33
eben das hab ich ja vor, nur weiß ich nicht wo ich die info her bekomme welcher teil meiner komponente neu gezeichnet werden soll. Es kommt ja nur die wm_paint und ich weiß nicht ob es für die ganze komponente gilt oder ob es reichen würde die linke obere ecke neu zu painten
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
teebee

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

Re: Problem mit repaint bei eigener Komponente

  Alt 25. Feb 2004, 10:14
Schau Die mal die API-Funktion 'GetUpdateRect' an. (Als Alternative dazu kannst Du 'BeginPaint' und 'EndPaint' benutzen.)
Mit 'PtInRect' kannst Du überprüfen, ob die Eckpunkte Deiner Buttons innerhalb des Update-Bereichs liegen und sie dann zum Neuzeichnen auffordern.

Gruß, teebee
  Mit Zitat antworten Zitat
Antwort Antwort


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 15:01 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