AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi LockWindowUpdate(0): Wie anschließendes WM_Paint verhindern.
Thema durchsuchen
Ansicht
Themen-Optionen

LockWindowUpdate(0): Wie anschließendes WM_Paint verhindern.

Ein Thema von TStringlist · begonnen am 30. Aug 2004 · letzter Beitrag vom 30. Aug 2004
Antwort Antwort
TStringlist

Registriert seit: 1. Dez 2003
360 Beiträge
 
Turbo Delphi für Win32
 
#1

LockWindowUpdate(0): Wie anschließendes WM_Paint verhindern.

  Alt 30. Aug 2004, 17:58
Hallo,

nach einem LockWindowUpdate(RichEdit1.Handle)/LockWindowUpdate(0) möchte ich eine durch letzteres event. verursachte WM_Paint-Message ganz ausfallen lassen (...weil ich nämlich ein anschließendes Update selbst in die Hand nehmen oder eben ganz ausfallen lassen will). Dh.: ich möchte verhindern dass eine solche Message überhaupt verursacht wird, bzw. wenn das nicht möglich ist, dann möchte ich sie wenigstens gleich irgendwie abfangen können.

Gibt's da event. irgendein Verfahren für?


Angenommen z.B. durchs LockWindowUpdate(0) wäre jetzt eine WM_Paint-Message ausgelöst worden. Könnte man die dann sofort eine Code-Zeile darunter mittels PeekMessage feststellen und sie dann ggf. mittels BeginPaint u. EndPaint unschädlich machen?

Thx im Voraus
MfG (& Thx ggf.)
  Mit Zitat antworten Zitat
Robert Marquardt
(Gast)

n/a Beiträge
 
#2

Re: LockWindowUpdate(0): Wie anschließendes WM_Paint verhind

  Alt 30. Aug 2004, 18:04
Ueberschreibe die Paint-Methode und ignoriere die Message dort.
Eine private Variable zum signalisieren ist alles was du brauchst.
  Mit Zitat antworten Zitat
Dark Templar

Registriert seit: 11. Jul 2004
20 Beiträge
 
#3

Re: LockWindowUpdate(0): Wie anschließendes WM_Paint verhind

  Alt 30. Aug 2004, 18:48
hmm... ich bin mir nicht ganz sicher, aber vielleicht könnte das hier funktionieren:

um das re-painting zu verhindern könnte man

SendMessage(wnd, WM_SETREDRAW, WPARAM(FALSE), 0) verwenden, wobei wnd das Handle des jeweiligen Fensters repräsentiert.

Wenn man wieder painten will, ruft man die selbe message auf, aber diesmal mit TRUE als drittem Parameter.
It's not a bug - it's a feature!

Check out www.darktemplar.npx.de
  Mit Zitat antworten Zitat
TStringlist

Registriert seit: 1. Dez 2003
360 Beiträge
 
Turbo Delphi für Win32
 
#4

Re: LockWindowUpdate(0): Wie anschließendes WM_Paint verhind

  Alt 30. Aug 2004, 19:44
Klappt beides perfekt! Thx.

(
...beim RichEdit-Control ist's dann übrigens die PaintHandler-Methode.

...und das WM_SETREDRAW scheint tatsächlich ganz ähnlich dem LockWindowUpdate zu sein, nur ohne anschließende (event.) WM_PAINT-Message hinterher ...ich die nachher also auch nicht kompensieren brauche.
)

COOL !
MfG (& Thx ggf.)
  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 03:20 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