Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi TEdit bekommt im OnMouseEnter einen farbigen Rahmen?!? (https://www.delphipraxis.net/150344-tedit-bekommt-im-onmouseenter-einen-farbigen-rahmen.html)

sUshiBA 14. Apr 2010 14:17


TEdit bekommt im OnMouseEnter einen farbigen Rahmen?!?
 
Folgendes:
Delphi-Quellcode:
myEdit.Color := clRed;
Soweit so gut. Wenn ich mein Prog jetzt laufen lasse bekomm ich nen rotes Edit :thumb:
Wenn ich jetzt allerdings mit der Maus drüber gehe wir in rot noch mal ein Rahmen drum gezogen.

Hat irgend wer eine Idee wer das macht, wie man das unterdücken kann, oder warum das erst passiert wenn die Maus ins Spiel kommt?!?

Danke schon mal :)

mkinzler 14. Apr 2010 14:29

Re: TEdit bekommt im OnMouseEnter einen farbigen Rahmen?!?
 
Übernehme selber das Zeichen des Controls

himitsu 14. Apr 2010 14:32

Re: TEdit bekommt im OnMouseEnter einen farbigen Rahmen?!?
 
Komisch, bei mir ist es genau andersrum.

Beim Umfärben seh ich einen Rahmen und wenn die Maus drüberkommt, dann verschwindet er.

Meine Lösung: (.Repaint und Co. hilft nix)
Delphi-Quellcode:
Edit1.Color := clRed;
Edit1.Hide;
Edit1.Show;

sUshiBA 14. Apr 2010 14:42

Re: TEdit bekommt im OnMouseEnter einen farbigen Rahmen?!?
 
Supi! Die Hide+Show-Variante hilft schon...da durch bin ich jetzt auf die Idee gekommen Ctl3D aus und wieder an zu schalten. Gleicher Effekt.

Scheint also ein Bug in der VCL zu sein. :nerd:

Vielleicht kann das mal jemand mit Delphi 2010 testen? Also in 2009 ist es noch nicht korrigiert.

Matze 14. Apr 2010 14:46

Re: TEdit bekommt im OnMouseEnter einen farbigen Rahmen?!?
 
Zitat:

Zitat von sUshiBA
Vielleicht kann das mal jemand mit Delphi 2010 testen? Also in 2009 ist es noch nicht korrigiert.

Himitsu hat laut Profil Delphi 2010. Es scheint also noch nicht behoben zu sein.

uligerhardt 14. Apr 2010 16:38

Re: TEdit bekommt im OnMouseEnter einen farbigen Rahmen?!?
 
Zitat:

Zitat von himitsu
Komisch, bei mir ist es genau andersrum.

Beim Umfärben seh ich einen Rahmen und wenn die Maus drüberkommt, dann verschwindet er.

Bei mir (D2007, XP) auch. Aber nur, wenn die Anwendung gethemed ist. Im Classic-Look gibt's das Problem bei mir nicht.

Zitat:

Zitat von himitsu
Meine Lösung: (.Repaint und Co. hilft nix)
Delphi-Quellcode:
Edit1.Color := clRed;
Edit1.Hide;
Edit1.Show;

Das und sUshiBAs Variante mit Ctl3D haben mich auf die Idee gebracht, mal RecreateWnd aufzurufen - und siehe da: das reicht. Ist leider protetcted, sodass man den Trick mit Cracker-Klasse verwenden muss.

Und ich bilde mir ein, den Effekt irgendwann auch mal mit einem Edit in einem Windows-Dialog gehabt zu haben - dann wäre Delphi aus dem Schneider. Leider finde ich den Dialog um's Verrecken nicht mehr.


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:11 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 by Thomas Breitkreuz