Image "Flackert" beim MouseEnter..

Für Probleme bezüglich Grafik, Audio, GL, ACS, ...
Antworten
Benutzeravatar
corpsman
Lazarusforum e. V.
Beiträge: 1617
Registriert: Sa 28. Feb 2009, 08:54
OS, Lazarus, FPC: Linux Mint Mate, Lazarus GIT Head, FPC 3.0
CPU-Target: 64Bit
Wohnort: Stuttgart
Kontaktdaten:

Image "Flackert" beim MouseEnter..

Beitrag von corpsman »

Guten Morgen allerseits,

Ich wollte einen neuen Lazarus Jünger anwerben und hab ihm dabei das angehängte Programm gebastellt. ( Man Klicke auf Ordner Laden und wähle einen Ordner der JPG Dateien beinhaltet ) Dann wird auf ein Bild geklickt.

Nun flackert das angezeigte Bild jedes mal wenn man mit der Maus in das Groupboxfeld fährt welches das Bild anzeigt ( Zumindest unter Wirus, äh Windows XP ).

Klar dass ich mir nun jede Menge Spot und Hohn anhören muss. Könnt ihr mir helfen die Ehre wieder her zu stellen ?
Dateianhänge
Problem.zip
SourceCode
(4.39 KiB) 104-mal heruntergeladen
--
Just try it

Benutzeravatar
theo
Beiträge: 10869
Registriert: Mo 11. Sep 2006, 19:01

Re: Image "Flackert" beim MouseEnter..

Beitrag von theo »

Erstens mal, die Abhängigkeit von LazJPG braucht es nicht, da ist nur ein Alias definiert für
jp: TJPEGImage;

Dann kann man sich fragen, warum du überhaupt ein TImage brauchst, du benützt es ja gar nicht. (Einen Canvas gibt's billiger)

Sonst kann ich nicht viel sagen, denn hier unter Linux/GTK2 flackert's nicht.

Benutzeravatar
corpsman
Lazarusforum e. V.
Beiträge: 1617
Registriert: Sa 28. Feb 2009, 08:54
OS, Lazarus, FPC: Linux Mint Mate, Lazarus GIT Head, FPC 3.0
CPU-Target: 64Bit
Wohnort: Stuttgart
Kontaktdaten:

Re: Image "Flackert" beim MouseEnter..

Beitrag von corpsman »

Ich hab das Image nur weil ich auf dessen Canvas zugreifen kann.

Ein GroupBox4.canvas geht nicht und mit TPaintbox ist der selbe Effekt.
--
Just try it

Patito
Beiträge: 203
Registriert: Di 22. Sep 2009, 13:08
OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
CPU-Target: xxBit

Re: Image "Flackert" beim MouseEnter..

Beitrag von Patito »

Was mir am Code erst mal nicht so ganz gefällt ist, dass Du im Image.OnPaint die
Image.Width veränderst. Kann sein dass sowas bei manchen Widgets gut geht,
aber normalerweise triggert ein Ändern der Breite ein neues OnPaint, u.s.w...
Ich denke man sollte in einem OnPaint etwas Zeichnen und nicht die Zeichenfläche selbst ändern.

hde
Beiträge: 556
Registriert: Mi 11. Aug 2010, 02:56

Re: Image "Flackert" beim MouseEnter..

Beitrag von hde »

also bei mir flackert nichts .. Windows XP SP3 (32bit) in einer VM (VirtualBox) unter Ubuntu
kompiliert mit Laz 1.1 (37261) 2.6.0
aber Ordner mit Umlauten machen Probs ..
hde

Bora4d
Beiträge: 290
Registriert: Mo 24. Dez 2007, 13:14
OS, Lazarus, FPC: WinXP-Pro-Sp3, Xubuntu 12.04, (Laz 1.1-SVN Mai2012, FPC 2.6.1 / 2.6.0-Linux)
CPU-Target: AMD64X2

Re: Image "Flackert" beim MouseEnter..

Beitrag von Bora4d »

Es flackert weil es schlecht programmiert ist. Controls bei OnShow "alignen"?
Es wird durch Image1.OnShow erzeugt. Entferne es und setze bei Designer:
Image1.AutoSize:=true;
Image1.Proportional:=true;
Image1.Strectch:=true;
Wenn du auch noch:
Image1.Center:=true;
setzt, wird es sogar zentriert.

Bora4d
Beiträge: 290
Registriert: Mo 24. Dez 2007, 13:14
OS, Lazarus, FPC: WinXP-Pro-Sp3, Xubuntu 12.04, (Laz 1.1-SVN Mai2012, FPC 2.6.1 / 2.6.0-Linux)
CPU-Target: AMD64X2

Re: Image "Flackert" beim MouseEnter..

Beitrag von Bora4d »

Verwende auch TJPEGImage anstatt TJPGImage dann brauchst du kein unit einzubinden.

Benutzeravatar
corpsman
Lazarusforum e. V.
Beiträge: 1617
Registriert: Sa 28. Feb 2009, 08:54
OS, Lazarus, FPC: Linux Mint Mate, Lazarus GIT Head, FPC 3.0
CPU-Target: 64Bit
Wohnort: Stuttgart
Kontaktdaten:

Re: Image "Flackert" beim MouseEnter..

Beitrag von corpsman »

Coole Sache,

Danke für die Tipps, werde es aber leider erst morgen testen können...
--
Just try it

Benutzeravatar
theo
Beiträge: 10869
Registriert: Mo 11. Sep 2006, 19:01

Re: Image "Flackert" beim MouseEnter..

Beitrag von theo »

@Bora4d: OnShow wird auch nur einmal aufgerufen, nicht bei MouseOver. Ist zwar nicht beosonders gut programmiert, aber wahrsch. nicht die Ursache.

Das mit dem TJPEGImage habe ich auch schon gesagt. Aber es ist halt anstrengend, alles zu lesen und doppelt genäht hält eh besser. :wink:

Benutzeravatar
corpsman
Lazarusforum e. V.
Beiträge: 1617
Registriert: Sa 28. Feb 2009, 08:54
OS, Lazarus, FPC: Linux Mint Mate, Lazarus GIT Head, FPC 3.0
CPU-Target: 64Bit
Wohnort: Stuttgart
Kontaktdaten:

Re: Image "Flackert" beim MouseEnter.. [gelöst]

Beitrag von corpsman »

*g*

Also ich konnte es nun testen, ich muss zugeben so gut kannte ich mich mit dem TImage nicht aus, nun gehts, danke.

Damit es geht muste ich aber nicht nur die beschriebenen Eigenschaften von TImage setzen, ich musste zusätzlich noch die Groupbox4 löschen ( in der das Timage eingebetet war ) erst dann hörte das Flackern auf.

Corpsman
--
Just try it

Antworten