您的位置:首页 > 其它

在MFC中,设置ComboBox控件中下拉列表的高度

2015-06-04 17:18 781 查看
在MFC中,如何设置组合框ComboBox控件下拉列表的高度
方法一:(只适用于静态创建)
如果是从MFC资源框中拖放下拉控件,那么可以单击下拉框的向下箭头,调整弹出的虚线框,就可以实现了。

方法二:(只适用于动态创建)
在动态创建下拉控件的Create函数中,RECT变量的高度Height设置大些,下拉列表的高度 = Height - ComboBox控件的高度

方法三:(适用于动态创建、静态创建)
捕获下拉控件的CBN_DROPDOWN消息,然后通过MoveWindow或SetWindowPos函数,可以实时修改下拉列表的高度

说明:
用系统API MoveWindow、SetWindowPos,这个函数对ComboBox改变大小操作时改变的不是编辑框大小,而是下拉列表的大小

方法三对应的实例如下:
void CA13Box::OnDropdown()
{
//CA13Box为CComboBox的子类

//设置下拉框的高度
CRect rc;
//如果是在主对话框中,可以使用 GetDlgItem(IDC_COMBO)->GetClientRect(&rc); 获取控件的大小
GetClientRect(&rc);
//SetWindowPos函数里面,第五个参数中的100,就表示下拉列表显示的高度
SetWindowPos(NULL, 0, 0, rc.Width(), rc.Height()+100, SWP_NOZORDER|SWP_NOMOVE|SWP_SHOWWINDOW);
}


可以参考代码:http://download.csdn.net/detail/youyongyoumou/8772833
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  VC 组合框