Einzelnen Beitrag anzeigen

Benutzerbild von Harry Stahl
Harry Stahl

Registriert seit: 2. Apr 2004
Ort: Bonn
2.533 Beiträge
 
Delphi 11 Alexandria
 
#17

AW: TComboEdit ItemIndex funktioniert in Firemonkey nicht

  Alt 9. Okt 2018, 20:56
Ich brauche leider den Itemindex bereits im OnChange Ereignis.
Also, ich habe zwar leider nicht ganz verstanden, was Du machen möchtest, aber wenn Du das aktuellste ItemIndex haben willst, dann musst Du nicht das OnChange-Event, sondern das OnChangeTracking-Event nehmen.

Dabei gilt folgende Besonderheit: Wenn Du den ItemIndex selber programmgesteuert (also nicht der User in der Bedienung) änderst, löst das kein OnChange-Event aus, aber das OnChangeTracking-Event. Da erhältst Du dann auch das aktuelle ItemIndex.
Ich ändere den Itemindex mit einem Mausklick auf das gewünschte Item. Nicht per code! Das control startet daraufhin von sichaus eine suche nach einem Item mit dem "sametext" des Items das ich angeklickt habe und setzt den Itemindex entsprechend falsch und führt dann das Onchange ereignis aus.
Nach dem onchange ereignis und setzt es den Itemindex auf das Item das angeklickt wurde.....argh...also auf das richtige Item...

Der beste weg wäre dieser code schnipsel gewesen!
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
begin
  (ComboEdit1.Items as TStringList).CaseSensitive := True;
end;
aber als der kam hatte ich mir schon ein eigenes Frankenstein-Control gebaut was das wie gewünscht macht.
Jeder der das TComboedit control benutzt sollte mkinzlers Lösung verwenden!
Aber nur, wenn man ganz bewusst vom Standardverhalten abweichen will, denn Standard ist, dass Strings.indexof eben nicht case-sensitiv ist: http://docwiki.embarcadero.com/Libra...trings.IndexOf

Insofern kann ich hier keinen Fehler erkennen und der Aussage TComboEdit ItemIndex funktioniert in Firemonkey nicht, könnte ich so nicht zustimmen.
  Mit Zitat antworten Zitat