![]() |
Dauer-Select-Problem bei Edit-Feldern und Comboboxen
Hallo,
immer wieder erlebe ich in Delphi folgendes Problem: Eine Anwendung wird kompiliert, ausgeführt und plötzlich sind wahllos Edit-Felder und Comboboxen selektiert (also die Schrift markiert). Das tritt komischerweise bei vielen der Felder und Boxen gleichzeitig auf und schreckt selbst von enabled=false nicht zurück. Manchmal tritt das Problem auch schon zur Design-Zeit auf. Die Felder kann man dann auch wenn man sie markiert und mit der Maus woanders hin klickt normalisieren, wenn man dann in den Code geht und wieder zurück sind die Felder aber unter Umständen wieder markiert. Nun ist dies kein schwerwiegender Fehler, der das Programm unbenutzbar macht, trotzdem würde mich aber mal interessieren ob ihr auch ähnliche Probleme habt und wie, soweit möglich, dieser Verhalten abgestellt werden kann. Schließlich sieht es nicht besonders gut aus und könnte den Anwender verwirren. Viele Grüße! |
Re: Dauer-Select-Problem bei Edit-Feldern und Comboboxen
dieses Problem hatte ich noch nie (Delphi1, Delphi2, Delphi6 und RadStudio2007)
LG |
Re: Dauer-Select-Problem bei Edit-Feldern und Comboboxen
Hast Du schon mal eine andere Tastatur in Erwägung gezogen?
|
Re: Dauer-Select-Problem bei Edit-Feldern und Comboboxen
@alzaimar:
Habe ich noch nicht probiert. Wieso könnte das denn helfen? @all: Gibt es vielleicht eine Möglichkeit, das markieren generell zu untersagen? Zum Beispiel in ComboBoxen, wo der User nur etwas auswählen soll aber nichts selber schreiben kann, wäre das ja sinnvoll. |
Re: Dauer-Select-Problem bei Edit-Feldern und Comboboxen
Hallo,
welche Delphi-Version hast du und sind alle Updates installiert? Verwendest du die Delphi-Originalkomponenten oder andere? Werden im Programm Windows-Nachrichten durch eigenen Code bearbeitet/erzeugt? Besteht das Problem nur auf deinem Rechner oder auch wenn du das Programm auf einem anderen Rechner verwendest? LG |
Re: Dauer-Select-Problem bei Edit-Feldern und Comboboxen
Zitat:
Ich habe aber keine Updates manuell installiert. Zitat:
Zitat:
Zitat:
Ich habe inzwischen weitergesucht und habe für RichEdit-Felder die EM_HIDESELECTION gefunden. Das zeigt bei meinen normalen Editfeldern aber keine Wirkung. Gibt es etwas ähnliches um die Felder beim Programmstart zb im OnCreate zu normalisieren?! Wenn einmal reingeklickt wurde funktioniert es ja. Es sieht nur ziemlich blöd aus wenn die Felder enabled=false sind aber trotzdem noch markiert sind. Vielen Dank! |
Re: Dauer-Select-Problem bei Edit-Feldern und Comboboxen
Zitat:
Aber denke die Wahrscheinlichkeit, das es an der IDE/Delphi liegt, ist nicht sehr hoch (besonders dann nicht, wenn es bei neuen Projekten nicht auftritt). Würde da nochmal untersuchen, ob es nicht durch irgendeine Action im Programmcode ausgelöst wird. |
Re: Dauer-Select-Problem bei Edit-Feldern und Comboboxen
Das mit SelLength habe ich probiert, bringt nichts. Ich habe es allerdings ins OnCreate geschrieben (SelLength := 0). Ich probiere es noch einmal an einer anderen Stelle.
Aus Testzwecken habe ich auch mal SetFocus probiert, damit lässt sich die Markierung auflösen, aber das ist ja auch etwas unsauber, wenn man nun beim Programmstart allen Elementen den Focus gibt, da SetFocus nicht im OnCreate benutzbar ist. Also so bekomme ich es zur Laufzeit weg:
Delphi-Quellcode:
Vielleicht gibt es irgendeine WindowsMessage, die SetFocus intern aufruft, die man simulieren könnte. Die Frage ist nur, ob man das dann im OnCreate machen kann?!
//Edit1 ist markiert
Edit1.SetFocus; //Edit1 ist immer noch markiert CheckBox1.SetFocus; //Edit1 ist nicht mehr markiert |
Re: Dauer-Select-Problem bei Edit-Feldern und Comboboxen
Zitat:
|
Re: Dauer-Select-Problem bei Edit-Feldern und Comboboxen
Könntest Du evtl. mal ein Beispielprogramm welches sich so verhält (kompiliert und als Quelltext/Projekt) posten?
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:09 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