如何根据字数设置Combox长度 比如其中一个选项为5个字,那如何调整Combox长度,来使字刚好显示! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 你说的是宽度还是高度,如果是高度那么你可以用CComboBox::SetWindowPos设置一个很大的cy(高度)值即可,如果是宽度,那么就是说按照CComboBox的项目中最宽的一个显示下拉框的宽度,那么给你一段代码。void MachComboBoxWidth(CComboBox *cb){ CString str; CSize sz; int dx=0; CDC* pDC = cb->GetDC(); for (int i=0;i < cb->GetCount();i++) { cb->GetLBText( i, str ); sz = pDC->GetTextExtent(str); if (sz.cx > dx) dx = sz.cx; } cb->ReleaseDC(pDC); cb->SetDroppedWidth(dx);} 找到最长的字符串赋给sLongestName //设置字型组合框的下拉框宽度使其能显示下最长的字型名 CDC* pDC = GetDC( ); CSize size = pDC->GetTextExtent( sLongestName ); m_StyleList.SetDroppedWidth( size.cx ); 我知道SetDroppedWidth 函数,他是设置下拉选项的宽度的,有没有设置Combox控件长度的,比如 开始我默认选中某项,填入Combox调整Combox宽度,使其刚好和填入的值相同,问 如何解决?谢谢!! 你这种需求是谁提出来的?MoveWindow成员函数就可以,GetTextExtent取出字符串的长度 mfc实现的时钟日期注释 在opengl中文件中数据作为颜色值在图像中显示 如何在非UNICODE对话框的Edit框内输入Unicode码? 推荐一个目录选择的组合框类 如何得知当前文档是否被修改? “选课机”之类的程序 请教 如何得到CCtrlList控键的列数 对话框中菜单问题?????? 哪位先生对H.263或MPEG的视频压缩算法比较熟悉? 一个很不错的学习资料网站,有很多教学视频资料下载,晚了就没了. 谁会用BCGControlBar的停靠功能?
void MachComboBoxWidth(CComboBox *cb)
{
CString str;
CSize sz;
int dx=0;
CDC* pDC = cb->GetDC();
for (int i=0;i < cb->GetCount();i++)
{
cb->GetLBText( i, str );
sz = pDC->GetTextExtent(str);
if (sz.cx > dx)
dx = sz.cx;
}
cb->ReleaseDC(pDC);
cb->SetDroppedWidth(dx);
}
//设置字型组合框的下拉框宽度使其能显示下最长的字型名
CDC* pDC = GetDC( );
CSize size = pDC->GetTextExtent( sLongestName );
m_StyleList.SetDroppedWidth( size.cx );
有没有设置Combox控件长度的,比如 开始我默认选中某项,填入Combox
调整Combox宽度,使其刚好和填入的值相同,问 如何解决?
谢谢!!
MoveWindow成员函数就可以,GetTextExtent取出字符串的长度