用代码创建一combobox的时候,怎么设置下拉列表框可视高度? 还有创建的combobox在编辑框/静态框的文本不是9号宋体,已经使用SetFont了 同上 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 怎么做。我查网上有人说Create时的rect就是下拉列表框可视高度了,不知道是不是,现在我没法验证。我一直以为那个是编辑框/静态框rect rectPoints to the position and size of the combo box. Can be a RECT structure or a CRect object.//是总的尺寸,包括下拉列表和编辑框的高度。编辑框的高度是由风格和字体大小决定的。 谢谢。rect的问题知道了。字体和大小问题。说明下,这个combobox是自绘的,在DrawItemText下面有pDC->SelectObject(&m_gFont),m_gFont初始9号,宋体。如果不是Create这个combobox的话,完全正常的,CMyComboBox::SetFont(int , LPCTSTR)也可以动态设置,但是用Create后,再调用CMyComboBox::SetFont后,在编辑框看到的字体也是大的,但在下拉列表框看到的是正确的直到combobox失去Focus,编辑框里的字才变回9号宋体 combobox是包含了一个EDIT控件的,设置字体的时候需要找到该EDIT控件,也设置一下。 谢谢,这我怎么才取得到Combobox下这个edit或是/static的hwnd或是cwnd呢 rect包含编辑框和下拉列表的高度 谢谢,rect这个问题解决了。现在是编辑框字体的问题.还有我发现我的COMBOBOX有50行,而我Create时的rect(下拉列表框)并不能显示完这么多,这个时候滚动条不见了,已经设置当不狗显示时自己滚动条的样式了 create时候的样式不对,要允许滚动条的 // TODO: Add extra initialization here RECT commr, wr, cr; m_commport.GetWindowRect( &commr ); this->GetWindowRect( &wr ); this->GetClientRect( &cr ); int w, h; w = wr.right - cr.right; h = wr.bottom - cr.bottom; m_commport.SetWindowPos( 0, commr.left - w, commr.top - h, commr.right - w, commr.bottom + 200 - h, 0 ); 谢谢,已经解决了,加上滚动条样式。现在唯一的缺点就是Create出来的组合框,当是DOWN样式,而不是DOWNLIST的时候,下拉列表框是已经正确重绘了的,但编辑框里没重绘,所以里面的文本是10号字,加粗,请问现在应该怎么处理. 关于winsock TCP客户端绑定问题? 多视图如何更新 CDHtmlDialog中如何获得某个元素的索引 用VC6.0以ADO的方式访问ACCESS数据库,连接数据库时发现异常 PEGRP32C.lib PEGRP32C.dll 求助VC6中将整数转换为字符串的函数 求教?接口的实现问题! 如何使一个CFormView里那个Dialog的大小自动和我的窗口一样大?(在线给分) 一个简单的计算机英语问题 宿主是EXE类型的COM组件能在ASP上调用么? 关于COM接口函数中使用Socket的问题 关于VC++6.0环境的问题
Points to the position and size of the combo box. Can be a RECT structure or a CRect object.
//是总的尺寸,包括下拉列表和编辑框的高度。编辑框的高度是由风格和字体大小决定的。
直到combobox失去Focus,编辑框里的字才变回9号宋体
RECT commr, wr, cr; m_commport.GetWindowRect( &commr );
this->GetWindowRect( &wr );
this->GetClientRect( &cr );
int w, h;
w = wr.right - cr.right;
h = wr.bottom - cr.bottom; m_commport.SetWindowPos( 0, commr.left - w, commr.top - h, commr.right - w, commr.bottom + 200 - h, 0 );