标签:sz Combox 手动 height item 宽度 pmyComboBox str pDC
有时候下拉框(MFC标准叫组合框,CComboBox)中条目文本很多,超过了下拉框的宽度,如果不加设置的话,超过的部分文本将无法显示,查找MSDN,发现解决方法,代码如下
// The pointer to my combo box. extern CComboBox* pmyComboBox; // Set the height of every item so the item // is completely visible. CString str; CSize sz; int dx=0; CDC* pDC = pmyComboBox->GetDC(); for (int i=0;i < pmyComboBox->GetCount();i++) { pmyComboBox->GetLBText( i, str ); sz = pDC->GetTextExtent(str); // Only want to set the item height if the current height // is not big enough. if (pmyComboBox->GetItemHeight(i) < sz.cy) pmyComboBox->SetItemHeight( i, sz.cy ); // Only want to set the item width if the current width // is not big enough. if (pmyComboBox->GetDroppedWidth() < sz.cx) { pmyComboBox->SetDroppedWidth(sz.cx + 20); } } pmyComboBox->ReleaseDC(pDC);
效果图如下:
标签:sz,Combox,手动,height,item,宽度,pmyComboBox,str,pDC 来源: https://www.cnblogs.com/unicornsir/p/14931309.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。