Dafür ist diese Komponente halt einfach nicht gedacht
Delphi-Quellcode:
procedure TCustomComboBox.CNDrawItem(
var Message: TWMDrawItem);
var
State: TOwnerDrawState;
begin
with Message.DrawItemStruct^
do
begin
State := TOwnerDrawState(LongRec(itemState).Lo);
if itemState
and ODS_COMBOBOXEDIT <> 0
then
Include(State, odComboBoxEdit);
if itemState
and ODS_DEFAULT <> 0
then
Include(State, odDefault);
FCanvas.Handle := hDC;
// <----------------------- Handle
FCanvas.Font := Font;
FCanvas.Brush := Brush;
if (Integer(itemID) >= 0)
and (odSelected
in State)
then
begin
FCanvas.Brush.Color := clHighlight;
FCanvas.Font.Color := clHighlightText
end;
if Integer(itemID) >= 0
then
DrawItem(itemID, rcItem, State)
else
FCanvas.FillRect(rcItem);
if odFocused
in State
then DrawFocusRect(hDC, rcItem);
FCanvas.Handle := 0;
end;
end;
Hier sieht man das das
Handle vom Canvas der Combox genommen wird. ( Bzw das
Handle wird benutzt das dem Canvas zugewiesen wird, aber läuft ja im Endeffekt auf das gleiche hinaus ... )
Ne Listbox ist da im Endeffekt wohl einfach besser für geeignet
MfG Alaitoc