Ich habe mir die StrCtrls angeguckt, genauer das:
Delphi-Quellcode:
procedure TCustomComboBox.CNDrawItem(var Message: TWMDrawItem);
var
State: TOwnerDrawState;
begin
with Message.DrawItemStruct^ do
begin
State := TOwnerDrawState(LongRec(itemState).Lo);
...
if odFocused in State then DrawFocusRect(hDC, rcItem);
FCanvas.Handle := 0;
end;
end;
Was mich wundert ist, dass ich odFocused in State zum Beginn von ListBox OnDrawItem lösche. Trotz dem wird FocusRect gezeichnet.