本文整理自网络,侵删。
ComboBox下拉列表框(组合框)在窗口改变size的时候可以用以下方法来修改编辑框和下拉列表框中每项的高度。宽度设置和其他控件一样。
注意下面非delphi代码,但是原理雷同:
第一种是SetItemHeight。原型如下:
int SetItemHeight( int nIndex, UINT cyItemHeight );
参数介绍: nIndex,说明是修改编辑框还是下拉列表框中每项的高度。 如果Combo box是 CBS_OWNERDRAWVARIABLE样式, 如果combo box不是CBS_OWNERDRAWVARIABLE样式,那么这个参数必须是0,而且每个项的高度都会被设置。 如果这个参数是-1,那么编辑框或者静态文本框的高度会被修改。 cyItemHeight ,设置高度,以像素为单位。 返回值,如果index或者height无效则返回CB_ERR,否则返回0。
附:编辑框或者静态文本框的高度设置与下拉框中选项的高度设置是独立的,所以必须保证编辑框或者静态文本框的高度大于或者等于下拉框中的选项。例子:m_combo.SetItemHeight(-1,nHeight);//修改了编辑框m_combo.SetItemHeight(0,nHeight);//修改了所有的下拉选项
第二种方法是SendMessage。 第一个参数是消息类型,第二个参数是index,第三个参数是要设置的高度(参数说明同上面一样)。 m_comboBox.SendMessage(CB_SETITEMHEIGHT,-1,nHeight);//修改了编辑框 m_comboBox.SendMessage(CB_SETITEMHEIGHT,0,nHeight);//修改了所有的下拉选项
相关阅读 >>
Delphi processid, process handle, window handle 之间的互相转换
Delphi 2009 中 string 与 char 的改变
更多相关阅读请进入《Delphi》频道 >>