AGB  ·  Datenschutz  ·  Impressum  







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

Cursor Flickert über TImage

Ein Thema von Memnarch · begonnen am 3. Dez 2010 · letzter Beitrag vom 8. Dez 2010
Antwort Antwort
Benutzerbild von Memnarch
Memnarch

Registriert seit: 24. Sep 2010
737 Beiträge
 
#1

AW: Cursor Flickert über TImage

  Alt 3. Dez 2010, 12:43
Nein leider nicht.
TPaintBox selbst hat kein DBuffered und das setzten von DBuffered bei der Form bringt leider auch nichts.

Noch schlimmer: Dann flackert sogar der inhalt der paintbox.


MFG
Memnarch
  Mit Zitat antworten Zitat
Benutzerbild von stahli
stahli

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

AW: Cursor Flickert über TImage

  Alt 3. Dez 2010, 13:38
DoubleBuffered macht zwar ähnliches, aber vielleicht kannst Du in ein Bitmap zeichnen und das Ergebnis auf Deinen PaintBox.Canvas kopieren (ohne FillRect). Einen Versuch ist es vielleicht wert...
Stahli
http://www.StahliSoft.de
---
"Jetzt muss ich seh´n, dass ich kein Denkfehler mach...!?" Dittsche (2004)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.348 Beiträge
 
Delphi 12 Athens
 
#3

AW: Cursor Flickert über TImage

  Alt 3. Dez 2010, 13:50
aber vielleicht kannst Du in ein Bitmap zeichnen und das Ergebnis auf Deinen PaintBox.Canvas kopieren (ohne FillRect). Einen Versuch ist es vielleicht wert...
Das ist eigentlich die angesehene vorgehensweise, wenn man den Hintergrund immer wieder löscht.

Wenn du es schaffst alles neu zu zeichnen, ohne den Hintergrund vorher zu löschen und ohne Pixel mehrfach umzufärben, wärend eines Zeichenvorgangs, dann kannst du auch direkt auf das Canvas zeichnen ... also bei dieser hohen Bildwiederholungsrate und in dem letzen Sonderfall würde sich das Bitmap nicht wirklich lohnen.
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Benutzerbild von Memnarch
Memnarch

Registriert seit: 24. Sep 2010
737 Beiträge
 
#4

AW: Cursor Flickert über TImage

  Alt 3. Dez 2010, 13:55
Wie egsagt, darstellung des Bildes ist tadellos, aber der CURSOR flackert. Auf den habe ich keinen einfluss. Das macht garkeinen sinn *HEUL*

Ich fange die message zum löschen des hintergrundes ab und setze

Message.result := 1;

Aber trotzdem flackert der cursor, was bedeutet dass wohl doch gelöscht wird >.<.

Ich versteh es schon deshalb nicht, weil die from, ihr inhalt und alles normal gezeichnet wird, ohne flackern, selbst wen elemente(menü) ins TImage ragen beim aufklappen.
Nur der Cursor is auf lsd v.v

EDIT: Oder kann ich den windows Cursor Unsichtbar machen? Dann würd ich meinen eigenen zeichnen.
EDIT2: Mit der paintbox hatte ich es schon ausprobiert. Hab BitBlt genutzt. Trotzdem flackerte der cursor wieder.
EDIT3: ja Cursor kann man wohl unsichtbar machen...aber mir fällt gerade ein ich hab ja auch noch ne MainMenu bar


MFG
Memnarch

Geändert von Memnarch ( 3. Dez 2010 um 14:00 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.348 Beiträge
 
Delphi 12 Athens
 
#5

AW: Cursor Flickert über TImage

  Alt 3. Dez 2010, 14:15
Um welches Betriebssystem handelt es sich denn eigentlich?

Unter Win98 würde sich vermutlich das Image neu zeichnen und sich danach der Cursor neu drübermalen ... das Ergebnis wäre ein starkes Flackern.
Wärend unter Win7 eventuell der WindowsDesktopManager eine puffernde Wirkung haben könnte und es dort nicht blinkt




Das TImage macht nunmal ganz viel im Hintergrund.
Und es ist eben nicht auf so schnelle Veränderungen ausgelegt (die ist sogar verhältnismäßig langsam und resourcenfressend) ... hierfür gibt es nicht grundlos die TPaintbox.

Hier kann es z.B. sein, daß das TImage beim Neuzeichnen auf den Cursor zugreift und diesen eventuell ganz kurz ändert. (z.B. für eine Microsekunde die Sanduhr, falls es länger dauert)

[edit]
hmmmmm?
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Benutzerbild von Memnarch
Memnarch

Registriert seit: 24. Sep 2010
737 Beiträge
 
#6

AW: Cursor Flickert über TImage

  Alt 3. Dez 2010, 14:30
Es Handelt sich um WinXP.

EDIT: ich hab ne Idee, jemand von euch schreibt ne DemoApp mit ner TPAintBOx, bei der der Cursor nicht flackert. Packts für mich inen rar und läds hoch.
Dann könnte ich mal austesten ob mein prog oder windows drans chuld ist.

MFG
Memnarch

Geändert von Memnarch ( 3. Dez 2010 um 14:42 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Memnarch
Memnarch

Registriert seit: 24. Sep 2010
737 Beiträge
 
#7

AW: Cursor Flickert über TImage

  Alt 6. Dez 2010, 15:58
eije, hat den keiner mehr ne Idee
  Mit Zitat antworten Zitat
Blup

Registriert seit: 7. Aug 2008
Ort: Brandenburg
1.487 Beiträge
 
Delphi 12 Athens
 
#8

AW: Cursor Flickert über TImage

  Alt 7. Dez 2010, 16:12
EDIT: ich hab ne Idee, jemand von euch schreibt ne DemoApp mit ner TPAintBOx, bei der der Cursor nicht flackert. Packts für mich inen rar und läds hoch.
Dann könnte ich mal austesten ob mein prog oder windows drans chuld ist.
Hab eine bessere Idee, du stellst uns den Quelltext einer Minianwendung bereit, die bei dir dieses Flackern hervorruft. Wir schauen ob das bei uns auch auftritt und was man dagegen tun kann.
  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 04:24 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