TListBox 导航条 绘制
procedure TForm1.btn1Click(Sender: TObject); begin lst1.AddItem('账户设置',nil); lst1.AddItem('报警设置',nil); lst1.AddItem('启动选项',nil); tv1.Items.AddObject() tv1.Items.Add().Data; end; procedure TForm1.lst1DrawItem(Control: TWinControl; Index: Integer; Rect: TRect; State: TOwnerDrawState); var ItemText : string; begin if odSelected in State then (Control as TListBox).Canvas.Brush.Color := $00ECCCB9 else (Control as TListBox).Canvas.Brush.Color := $00F8ECE5; (Control as TListBox).Canvas.FillRect(Rect); ItemText := (Control as TListBox).Items[Index]; InflateRect(Rect,-3,0); DrawText((Control as TListBox).Canvas.Handle,PChar(ItemText),Length(itemText) ,Rect,DT_VCENTER or DT_SINGLELINE or DT_END_ELLIPSIS or 0); end;
stype要设为 lbOwnerDrawVariable