求助:CombBox中加了大量数据项,但不好选择

afafaf_2008 2009-04-05 12:14:59
CombBox中添加了很多的数据项,比如1000条,但是从中选择想要的某条很麻烦,而且数据项又不好分组。我后来又用了一个CMenu,长度从屏幕最高点到最低点,显示的区域是大些,但是CMenu没有滚动条,我怎么才能在上面加个滚动条??我这种情况还有没有更好的办法?
...全文
73 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
afafaf_2008 2009-04-06
  • 打赏
  • 举报
回复
int iCurCount = m_StringArray.GetSize();
CString strItemName = "";
int iFlag=1;
int iCount=0;

while (iCurCount > 0)
{

CMenu menu1;
menu1.CreatePopupMenu();

if (iCurCount > 100)
{
iCount=100;
strItemName.Format("%d-%d",(iFlag-1)*100, iFlag*100-1);
}
else
{
iCount=iCurCount;
strItemName.Format("%d-%d",(iFlag-1)*100, iCount+(iFlag-1)*100-1);
}

for (int iItem=0; iItem<iCount; iItem++)
{
int nFlags = MF_STRING | MF_ENABLED;
menu1.AppendMenu( nFlags , nBeg + 2 + iItem+(iFlag-1)*100 , m_StringArray[iItem+(iFlag-1)*100]);
}
menu.AppendMenu(MF_POPUP|MF_STRING,(UINT)menu1.m_hMenu,strItemName);

iCurCount-=100;
iFlag++;
}


我这样每100条记录添加到子菜单中,可选取时只能选第一菜单下的子菜单项,请问怎么解决啊???
afafaf_2008 2009-04-05
  • 打赏
  • 举报
回复
有过滤式选择的实例的话麻烦也提供一下,再次感谢!
afafaf_2008 2009-04-05
  • 打赏
  • 举报
回复
其实我也想搞个多级ComboBox,至少可以按序号分下组,楼上的大哥可否给我个多级ComboBox的列子,万分感谢!!!
cnzdgs 2009-04-05
  • 打赏
  • 举报
回复
分类用两级或多级ComboBox来设置;或者参考IE地址栏的方式,根据输入的字符来过滤。
wqvbjhc 2009-04-05
  • 打赏
  • 举报
回复
自绘吧,一般这种情况要自已处理。你可以把菜单项分布成行和列的二维方式,而不是只有一列
Conry 2009-04-05
  • 打赏
  • 举报
回复
用listctrl,或listbox
cnzdgs 2009-04-05
  • 打赏
  • 举报
回复
例子可以到网上去搜,例如http://www.codeproject.com/。

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧