Now I'm pretty certain I should've been able to find this, I would imagine it's a common question. But I think my google-fu has failed me. So I had a play with what I could find and made this.
procedure TfrmDLGFooterGenerator.cboFontFaceDrawItem(Control: TWinControl;
Index: Integer; ARect: TRect; State: TOwnerDrawState);
begin
cboFontFace.canvas.Font.name := cboFontFace.items[index];
if index = cboFontFace.ItemIndex then
begin
cboFontFace.Canvas.Brush.color := clHighlight;
cboFontFace.Canvas.Font.color := clHighlightText;
cboFontFace.Canvas.FillRect(ARect);
end else
begin
cboFontFace.Canvas.Brush.color := clWhite;
cboFontFace.Canvas.Font.color := clBlack;
cboFontFace.Canvas.FillRect(ARect);
end;
cboFontFace.Canvas.TextRect(ARect, 20, ARect.Top, cboFontFace.Items[Index]);
end;
The problem is that when you run your mouse down the various entries it highlights them in turn so you've got a sea of highlighted entries. Can anyone kindly help me fix this. I must admit i just don't know why it's doing it. I would appreciate the help or even if your google-fu is better please point me at an example

Thanks
CJ