AGB  ·  Datenschutz  ·  Impressum  







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

Wieder mal das leidige Thema "Flackern"

Ein Thema von skoschke · begonnen am 28. Aug 2019 · letzter Beitrag vom 1. Sep 2019
 
Benutzerbild von stahli
stahli

Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.352 Beiträge
 
Delphi 11 Alexandria
 
#11

AW: Wieder mal das leidige Thema "Flackern"

  Alt 28. Aug 2019, 11:28
Danke für das Lob.

Das ist rein VCL (quasi ein Versuch mal FMX-Light (sehr, sehr light ) umzusetzen.)

Es sind keine Controls, sie sollten sich nur so anfühlen.


Das funktioniert so:

Im "Control-Thread":
- Bitmap füllen mit Hintergrundfarbe.
- Pro "Control" Rechteck zeichnen (mit oder ohne Hintergrund, Rahmen, Text)
- Pro Control Z-Order und Positionen merken.
- evtl. 1 focussiertes Control merken.
- Bitmap an Mainthread übergeben

Im Mainthread:
- Bitmap auf Canvas kopieren
- Maus- und Tastaturereignise an den "Control-Thread" übergeben

Im "Control-Thread":
- Maus- und Tatsaturereignisse verarbeiten und z.B. Control-Positionen ändern.
- wieder zeichnen


Das Formular ist in dem Fall nur eine Zeichenfläche und Eingabeschnittstelle.


Wenn Bei Dir von der Bedienung her grundsätzlich alles schon in einer Paintbox funktioniert (abgesehen vom Flackern) und Du mit Threads umgehen kannst, dann sollte sich das bei Dir auch so realisieren lassen.

Die Maus- und Tastaturereignisse habe ich in Ques an den Thread übergeben und das Bitmap dann einfach synchronisiert an den Mainthread.
Stahli
http://www.StahliSoft.de
---
"Jetzt muss ich seh´n, dass ich kein Denkfehler mach...!?" Dittsche (2004)
  Mit Zitat antworten Zitat
 


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 05:08 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