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!