读书人

关于下拉框的有关问题

发布时间: 2012-01-12 22:11:58 作者: rapoo

关于下拉框的问题
//show month //显示月份
for(int b=1;b <=12;b++)
{
CString st;
st.Format( "%d ",b);
m_yue.AddString(st);
}

CString s;
s.Format( "%d ",m);
int t=m_yue.SelectString(0, s);
m_yue.SetCurSel(t); //设置默认的月份为当前月份

当月份为10-12份时,默认显示没有问题,但是1-9月份时就出现了问题。本月为1月,但默认选择了10月份,调试知道在int t=m_yue.SelectString(0, s)这段出现问题,s的结果是正确的,为1,但运行后t却不是得到0,而是9。

我还有一个下拉框,在默认日期时,写的方法跟这个一样,但却没有出现这样的怪现象。

不知道是什么原因,望大家帮忙看看,谢谢!

[解决办法]
取消CComboBox的Sort属性
或者用如下的值 : “01”, “02”,.... "09 ", "10 ", "11 ", "12 ";
字符串比较 "2 ", "3 " .... "9 " 〉 "10 ", "11 ", "12 "
[解决办法]
估计是s2.Format( "%d ",d);这句出现问题,可能你设置了格式,所以找不到这个1,所以出现问题
我觉得应该改为s2.Format( "%-2d ",d);的形式。

读书人网 >VC/MFC

热点推荐