...use radio buttons in a listbox?

Author: David

Category: VCL

procedure TForm1.ListBox1DrawItem(Control: TWinControl; Index: Integer;
  Rect: TRect; State: TOwnerDrawState);
var
  
drawRect: TRect;
begin
  with 
ListBox1.Canvas do
  begin
    
FillRect(rect);

    drawRect.Left := rect.Left + 1;
    drawRect.Right := Rect.Left + 13;
    drawRect.Bottom := Rect.Bottom;
    drawRect.Top := Rect.Top;

    if odSelected in State then
      
DrawFrameControl(Handle, drawRect, DFC_BUTTON, DFCS_BUTTONRADIO or DFCS_CHECKED)
    else
      
DrawFrameControl(Handle, drawRect, DFC_BUTTON, DFCS_BUTTONRADIO);

    TextOut(15, rect.Top + 3, ListBox1.Items[Index]);
  end;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  
ListBox1.Style := lbOwnerDrawVariable;
  ListBox1.ItemHeight := 20;

  //drei Test Items erstellen
  
ListBox1.Items.Add('Item 1');
  ListBox1.Items.Add('Item 2');
  ListBox1.Items.Add('Item 3');
end;

 

printed from
www.swissdelphicenter.ch
developers knowledge base