我要使用编辑框和滚动条配合,来显示日期,年月日我处理好了,可是星期我想显示中文,下面就是我用的程序代码,我能在编辑框中显示中文,例如:星期六 ----〉其中“星期”是静态文本,“六”是编辑框中显示的。
char StrWeek[7][10] = {
    "日","一","二","三","四","五","六"
};
m_iEditWeek    = m_cSpinWeek.GetPos();
CString    m_strEditWeek;
m_strEditWeek = StrWeek[m_iEditWeek];
SetDlgItemText(IDC_EDIT_WEEK, m_strEditWeek);可是问题是:编辑框和滚动条组合用,我在点击了滚动条中的上下键后,星期也相应的变化,变化后的就显示的是数字“星期5”之类的,这个怎么解决,我要变化后也相应的显示中文,相关语句:
    DDX_Control(pDX, IDC_SPIN_WEEK, m_cSpinWeek);
    DDX_Text(pDX, IDC_EDIT_WEEK, m_iEditWeek);
其中:m_iEditWeek只能是int型的,我猜测问题就在这,怎么处理好呢?

解决方案 »

  1.   

    两者结合并不能这么自动化,还是需要自己处理消息,对于单纯的数字,可以实现自动增加/减少.响应WM_VSCROLL(垂直滚动条)或者WM_HSCROLL(水平滚动条)消息,然后更新编辑框的内容
      

  2.   


    在编辑框的EN_CHANGE中处理
      

  3.   

    用两个edit一个显示,另一个只是作为spin的muddy
    .muddy隐藏。另一个显示。根据数据muddy的数值显示『"日","一","二","三","四","五","六"』
    不知道行不行。
      

  4.   

    自己写一个太麻烦了把。为什么不用CDateTimeCtrl呢?如果你一定要所有显示都是中文,那也可以继承CDateTimeCtrl,应该很容易做到的。
      

  5.   

    void CCsdn4Dlg::OnChangeEditWeek() 
    {
    char StrWeek[7][10] = {
    "日","一","二","三","四","五","六"
    };

    CString str;
    GetDlgItem(IDC_EDIT_WEEK)->GetWindowText(str);
    int nDayOfWeek;
    sscanf((LPCTSTR)str,"%d",&nDayOfWeek);
    if(nDayOfWeek>=0 && nDayOfWeek <= 6)
    {
    str = StrWeek[nDayOfWeek];
    GetDlgItem(IDC_EDIT_WEEK)->SetWindowText(str);
    }
    }
      

  6.   

    在编辑框的EN_CHANGE中处理
      

  7.   

    Dou是,he_zhidan(何志丹:风云伐日)方法不错。不要把问题搞得太复杂了