VerySource

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 921|回复: 6

关于下拉框的问题

[复制链接]

1

主题

3

帖子

4.00

积分

新手上路

Rank: 1

积分
4.00
发表于 2020-2-7 14:30:01 | 显示全部楼层 |阅读模式
//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。  

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

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

使用道具 举报

0

主题

6

帖子

6.00

积分

新手上路

Rank: 1

积分
6.00
发表于 2020-4-2 13:45:02 | 显示全部楼层
int t=m_yue.SelectString(0, s);
搂主将字符串类型的数据赋值给了整型。转化一下看看
回复

使用道具 举报

0

主题

6

帖子

6.00

积分

新手上路

Rank: 1

积分
6.00
发表于 2020-4-2 17:15:01 | 显示全部楼层
不好意思。看错了。刚刚我说错了
回复

使用道具 举报

0

主题

9

帖子

7.00

积分

新手上路

Rank: 1

积分
7.00
发表于 2020-4-2 22:45:01 | 显示全部楼层
取消CComboBox的Sort属性
或者用如下的值 : “01”, “02”,...."09", "10", "11", "12";
字符串比较 "2", "3" ...."9" 〉 "10", "11", "12"
回复

使用道具 举报

1

主题

3

帖子

4.00

积分

新手上路

Rank: 1

积分
4.00
 楼主| 发表于 2020-4-3 17:30:02 | 显示全部楼层
没有用sort的形式,默认的是没有sort的。我用的是combo box控件。


日期的控件就不会出现这种问题,像今天是4号,就能正常默认为4号。代码如下:
        CString s2;
        s2.Format("%d",d);
        int t2=m_ri.SelectString(0,s2);  //得到当前日期在列表中的序号
        m_ri.SetCurSel(t2);


回复

使用道具 举报

1

主题

3

帖子

4.00

积分

新手上路

Rank: 1

积分
4.00
 楼主| 发表于 2020-4-6 01:45:01 | 显示全部楼层
刚才再次测试了下,只有是1月时才会出错,2-12月不会出错。  同时在日期下拉框里也是这样,如果是1号,则默认的也是10。其它的情况都显示正确。

实在不明白了。
回复

使用道具 举报

0

主题

1

帖子

2.00

积分

新手上路

Rank: 1

积分
2.00
发表于 2020-4-13 09:30:01 | 显示全部楼层
估计是s2.Format("%d",d);这句出现问题,可能你设置了格式,所以找不到这个1,所以出现问题
我觉得应该改为s2.Format("%-2d",d);的形式。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|CopyRight © 2008-2023|verysource.com ( 京ICP备17048824号-1 )

快速回复 返回顶部 返回列表