AGB  ·  Datenschutz  ·  Impressum  







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

Seltsames Klickverhalten in Combobox

Ein Thema von amigage · begonnen am 15. Mär 2011 · letzter Beitrag vom 16. Mär 2011
Antwort Antwort
Seite 1 von 2  1 2      
amigage

Registriert seit: 11. Nov 2005
Ort: Leipzig
274 Beiträge
 
Delphi 12 Athens
 
#1

Seltsames Klickverhalten in Combobox

  Alt 15. Mär 2011, 17:55
Hallo liebe Delphi Gemeinde,

ich habe ein Combobox-Problem, das ich vorher mit Delphi 5 nicht hatte. Jetzt nutze ich Delphi 2009.

Die Combobox arbeitet im Style=csDropDownList und ist mit Daten gefüllt. Wenn ich mit der Maus darauf klicke, kann ich mit der Tastatur den entsprechenden Eintrag vorwählen und mit einem Mausklick übernehmen. Früher hat er die Auswahl auch übernommen, wenn ich nach der Tastatur-Vorauswahl mit der Maus außerhalb geklickt habe, um einem anderen Element den Fokus zu geben.

Wie bekomme ich es wieder hin, dass er automatisch den vorselektierten Eintrag übernimmt?
Wie gesagt, unter Delphi 5 klappte das bisher so.

Danke...
  Mit Zitat antworten Zitat
WM_CLOSE

Registriert seit: 12. Mai 2010
Ort: königsbronn
398 Beiträge
 
RAD-Studio 2009 Pro
 
#2

AW: Seltsames Klickverhalten in Combobox

  Alt 15. Mär 2011, 19:53
man könnte fieserweise auch das Klickereignis manuell auslösen.
  Mit Zitat antworten Zitat
amigage

Registriert seit: 11. Nov 2005
Ort: Leipzig
274 Beiträge
 
Delphi 12 Athens
 
#3

AW: Seltsames Klickverhalten in Combobox

  Alt 16. Mär 2011, 11:31
Weißt Du auch wie? Ich bekomme es nämlich nicht hin.

Da die Selektion ja bei einer Pfeiltasten-Auswahl und "Auswärts"-Klick übernommen wird, habe ich es auch schon bei OnKeyDown mit einer Simluation von VK_UP und VK_DOWN versucht, aber da hängt er in einer Endlosschleife, obwohl ich das Ereignis vor Ausführung auf NIL setze.
  Mit Zitat antworten Zitat
WM_CLOSE

Registriert seit: 12. Mai 2010
Ort: königsbronn
398 Beiträge
 
RAD-Studio 2009 Pro
 
#4

AW: Seltsames Klickverhalten in Combobox

  Alt 16. Mär 2011, 11:40
Ich hätte es jetzt so gemacht:
Objekt.OnNotifyEreignis(Objekt);
  Mit Zitat antworten Zitat
alfold

Registriert seit: 29. Jun 2010
Ort: Neustrelitz
393 Beiträge
 
Delphi 7 Enterprise
 
#5

AW: Seltsames Klickverhalten in Combobox

  Alt 16. Mär 2011, 11:45
mh.. kann ich nicht reproduzieren.
Ohne zusätzliche events, wird mit den Pfeiltasten die selektierte übernommen. Egal wo ich danach mit der Maus hinklicke.
€: Kann es sein das Du im onChangeereignis was machst?

Mit Maus die Liste überfahren(also move) wird kein klick Ereigniss ausgeführt. War schon immer so! Das musste man selber schreiben

Gruss alfold

Geändert von alfold (16. Mär 2011 um 12:14 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von stahli
stahli

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

AW: Seltsames Klickverhalten in Combobox

  Alt 16. Mär 2011, 12:37
Weißt Du auch wie? Ich bekomme es nämlich nicht hin.

Da die Selektion ja bei einer Pfeiltasten-Auswahl und "Auswärts"-Klick übernommen wird, habe ich es auch schon bei OnKeyDown mit einer Simluation von VK_UP und VK_DOWN versucht, aber da hängt er in einer Endlosschleife, obwohl ich das Ereignis vor Ausführung auf NIL setze.
Nur mal ein Hinweis, auf den man nicht gleich kommt (falls das bei Dir eine Rolle spielen könnte):
Wenn man die Items neu definiert, wird automatisch ein Änderungsereignis ausgelöst (für die Combobox, nicht für die Liste!). Die Ereignisse unterscheiden sich auch noch je nach eingestelltem Style.
Ich habe daher eine ganze Weile gebraucht, die ComboBox auf meine Zwecke anzupassen (diese benutzt jetzt Eigenschaften von Objekten zur Darstellung, ähnlich wie eine DBComboBox).
Den Code kann ich bei Bedarf gern zeigen, der ist aber wohl schwer allgemein nutzbar.
Stahli
http://www.StahliSoft.de
---
"Jetzt muss ich seh´n, dass ich kein Denkfehler mach...!?" Dittsche (2004)

Geändert von stahli (16. Mär 2011 um 12:44 Uhr)
  Mit Zitat antworten Zitat
amigage

Registriert seit: 11. Nov 2005
Ort: Leipzig
274 Beiträge
 
Delphi 12 Athens
 
#7

AW: Seltsames Klickverhalten in Combobox

  Alt 16. Mär 2011, 13:58
Ohne zusätzliche events, wird mit den Pfeiltasten die selektierte übernommen.
Jaja, bei der Pfeiltastenauswahl wird die Auswahl übernommen, aber nicht, wenn Du bspw. den ersten Buchstaben eines Eintrags eintippst, um zu ihm zu springen. Den Fokus verliert er, wenn Du dann irgendwo anders hinklickst. Ist so eine Art "Auswahl-Abbrechen"-Funktion. Früher war das nicht so

Ich habe mir jetzt folgendermaßen geholfen, indem ich die Pfeiltasten im OnKeyDown Event simuliere:

Delphi-Quellcode:
procedure TMyDlg.ComboBoxKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  ComboBox.OnKeyDown := NIL;
  PostKeyEx32(VK_DOWN, [], False);
  PostKeyEx32(VK_UP, [], False);
  Application.ProcessMessages;
  ComboBox.OnKeyDown := ComboBoxKeyDown;
end;
PostKeyEx32

Ist jedoch nicht die feine englische Art. Zumal die Lösung nicht funktioniert, wenn ich den letzten Eintrag selektieren will. ich bekomme aber leider nicht raus, welchen er selektiert hat, da das ItemIndex sich bei Buchstabeneingaben nicht ändert.
  Mit Zitat antworten Zitat
alfold

Registriert seit: 29. Jun 2010
Ort: Neustrelitz
393 Beiträge
 
Delphi 7 Enterprise
 
#8

AW: Seltsames Klickverhalten in Combobox

  Alt 16. Mär 2011, 14:08
Na aber, dafür musst du das onChangeereignis benutzen und dann durch die Liste irritieren damit wird der Ausdruck selektiert und auch gleich angezeigt. Das hat nix mit Mouse zu tun. Das hast Du oben nicht erwähnt!

alfold
  Mit Zitat antworten Zitat
amigage

Registriert seit: 11. Nov 2005
Ort: Leipzig
274 Beiträge
 
Delphi 12 Athens
 
#9

AW: Seltsames Klickverhalten in Combobox

  Alt 16. Mär 2011, 15:07
Sorry, ich erkläre es genauer.

Ich klicke mit der Maus auf den rechten Pfeil der Combobox und gebe nur den Buchstaben F ein, um zu dem Eintrag zu springen, der mit F beginnt. Er spingt auch dahin. Man könnte denken, der Eintrag sei selektiert. Also klicke ich mit der Maus z.B. in das nächste Eingabefeld. *schwupps* Die Combobox springt wieder zur vorherigen Auswahl.

Wie gesagt, wenn man die Pfeiltasten nutzt, wird die Auswahl selektiert und beim Wegklicken - und somit Schließen der Combobox-Auswahl - der Eintrag übernommen.
  Mit Zitat antworten Zitat
alfold

Registriert seit: 29. Jun 2010
Ort: Neustrelitz
393 Beiträge
 
Delphi 7 Enterprise
 
#10

AW: Seltsames Klickverhalten in Combobox

  Alt 16. Mär 2011, 15:15
Kann auch diesen effekt nicht reproduzieren. Egal wo ich nach Eingabe des Buchstaben hinklicke, es steht sofort der volle string in der Eingabe und er bleibt!

alfold
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 15:16 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz