Label löst Paint Ereigniss aus

OP #4012307
Hallo!

Habe eine Windows_Forms Anwendung mit TabControl und einem Tab. Auf 
diesem Tab ist ein Panel und daneben einige Buttons. Wenn ich nun mit 
der Maus über die Buttons fahre wird jedes mal für das Panel das Paint 
Ereigniss ausgelöst. Da das Neuzeichnen recht aufwendig ist flackert es 
sehr doll. Weiss jemand wie ich das umgehen kann?
Programmierplattform ist Visual Studio C++/CLI.

VG Deepdiver99
#4012335
deep diver99 schrieb:
> Visual Studio C++/CLI.

Kenne ich leider nicht, bin daher nicht sicher, ob es das Richtige ist:
In Control-Eigenschaft Style die Flags AllPaintingInWmPaint und 
UserPaint auf TRUE (bzw. true) setzen, um Botschaft WM_ERASEBKGND zu 
unterdrücken und dadurch das Flimmern/Flackern zu vermindern.
https://msdn.microsoft.com/de-de/library/system.windows.forms.controlstyles(v=vs.110).aspx

Siehe Flag UserPaint: wenn FALSE, dann wird kein Paint-Event ausgelöst 
und das Neuzeichnen wird nicht mehr vom System erledigt. Ich vermute 
mal, daß dann die Anwendung selbst für das Neuzeichnen sorgen muß.
Gast #4012613
Habe es jetzt mal probiert, aber es kommt eine Fehlermeldung. "SetStyle" 
ist PRIVATE, kann daher nicht darauf zugreifen.

Form1.h(2282) : error C3767: 
"System::Windows::Forms::Control::SetStyle": Auf mögliche Funktion(en) 
kann nicht zugegriffen werden.

Noch eine andere Idee?
Gast #4012737
Habe die Lösung gefunden. Das Problem war der TAB auf dem das PANEL und 
die BUTTON's waren. Habe ein neuen TAB angelegt und die Steuerelemente 
darauf verschoben, und siehe da es wird kein PANEL_Paint_Event mehr 
ausgeöst wenn man mit der Maus über die Button's fährt.
Warum der "alte" TAB diese Problem gemacht hat kann ich mir nicht 
erklären. Habe alle Einstellungen von beiden TAB's verglichen, aber sie 
waren gleich.
#4013121
Deepdiver99 schrieb:
> Warum der "alte" TAB diese Problem gemacht hat kann ich mir nicht
> erklären.

Habe sowas früher auch erlebt, z.B. bei einer VB6-Demo nach ausgiebigem 
Herumprobieren im Fensterformular-Editor. In einem neuen Projekt ohne 
wildes Herumprobieren hat dann alles funktioniert.

> "SetStyle" ist PRIVATE, kann daher nicht darauf zugreifen.

Sorry! O.g. Link bezieht sich auf .NET Framework 4.5, aber die Sache mit 
den Style-Flags wäre wohl ohnehin nicht des Rätsels Lösung gewesen. LG

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 11 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.