procedure TForm1.FormCreate(Sender: TObject);
begin
ComboBox1.Items.Clear;
ComboBox1.Style := csOwnerDrawVariable;
ComboBox1.Items.Add('Solid');
ComboBox1.Items.Add('Dash');
ComboBox1.Items.Add('DashDot');
ComboBox1.Items.Add('DashDotDot');
ComboBox1.Items.Add('Dot');
end;
procedure TForm1.ComboBox1DrawItem(Control: TWinControl; Index: Integer; ARect: TRect; State: TOwnerDrawState);
begin
case (Control as TComboBox).Items[Index] of
'Solid': (Control as TComboBox).Canvas.Pen.Style := psSolid;
'Dash': (Control as TComboBox).Canvas.Pen.Style := psDash;
'DashDot': (Control as TComboBox).Canvas.Pen.Style := psDashDot;
'DashDotDot': (Control as TComboBox).Canvas.Pen.Style := psDashDotDot;
'Dot': (Control as TComboBox).Canvas.Pen.Style := psDot;
end;
(Control as TComboBox).Canvas.Pen.Width := 3;
(Control as TComboBox).Canvas.Pen.Color := clBlack;
(Control as TComboBox).Canvas.Line(ARect.Left, ARect.Top + (ARect.Height div 2), ARect.Left + 150, ARect.Top + (ARect.Height div 2));
(Control as TComboBox).Canvas.TextOut(ARect.Left + 160, ARect.Top, (Control as TComboBox).Items[Index]);
end;