ListBox编程两例

2008-02-23 05:39:01来源:互联网 阅读 ()

新老客户大回馈,云服务器低至5折

1。 为ListBox添加水平方向的滚动条

SendMessage (ListBox1->Handle,LB_SETHORIZONTALEXTENT,ListBox1->Width 32,0) ;

2。 为Listbox添加图标

首先需要配置Listbox的Style属性为lbOwnerDrawVariable;

const margin = 2 ; // Margin around each bitmap

//---------------------------------------------------------------------------
void __fastcall TForm1::ListBox1MeasureItem(TWinControl *Control, int Index,
int &Height)
{
Height = ImageList1->Height margin * 2 ;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::ListBox1DrawItem(TWinControl *Control, int Index,
TRect &Rect, TOwnerDrawState State)
{
// 填充背景.
ListBox1->Canvas->FillRect (Rect) ;
// 画出图像.
ImageList1->Draw (ListBox1->Canvas, Rect.Left margin, Rect.Top margin, Index) ;

// 画出文字.
String text = ListBox1->Items->Strings [Index] ;
// Center the text vertically in relation to the bitmap.
int off = (Rect.Bottom - Rect.Top - ListBox1->Canvas->TextHeight (text)) / 2 ;
ListBox1->Canvas->TextOut (Rect.Left ImageList1->Width 2 * margin,
Rect.Top off,text) ;
}




标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇: 实现ComboBox输入文字的自动完成

下一篇: C Builder中集合的处理

热门词条
热门标签