Hallo,
eigentlich was ganz Primitives: Auf einer Form befinden sich u.A. zwei Komponenten: ein DBGrid und eine Listbox. Welche davon gerade den Focus hat, soll auch optisch sichtbar sein. Beim DBGrid ist das ja einfach mit den DBGridOptions, aber bei der Listbox hab ich ein bischen Verständnisprobleme. Wenn die Listbox einmal den Fokus erhalten hat, und danach wieder verliert, sollte nach meinem Verständnis durch
die mit HighLightColor aktive Zeile wieder "normal" dargestellt werden. Ist aber nicht. Ist das ein
VCL-Bug, oder WAD, oder sonstwas?
So lässt sich das Problem zwar lösen, aber elegant geht irgendwie anders.
Delphi-Quellcode:
procedure ResetPlayList;
var
Items: TStrings;
i: integer;
begin
Items := TStringList.Create;
try
Items.AddStrings(PlayList.Items);
PlayList.Items.Clear;
for i := 0 to Pred(Items.Count) do PlayList.Items.Add(Items[i]);
PlayList.ItemIndex := -1;
finally
Items.Free;
end;
Options := TitelGrid.Options + [dgAlwaysShowSelection];
TitelGrid.Options := Options;
end;
PlayList ist die TListBox. Was noch seltsam oder zumindest nicht auf Anhieb logisch ist: Wenn
dann funktioniert nicht mal das. AutoComplete muss also immer false sein.