现在用ClistCtrl控件做一个万年历的显示,在得到年月的时候,在list表中显示当月的日期,还有星期。例如:现在有2010-06 的日期日 一 二 三 四 五 六
1 2 3 4 5
6 7 8 9 10 11 12//省略27 28 29 30
界面如上图:
获得的数据应该怎么往列表中添加,求教添加的方法。
1 2 3 4 5
6 7 8 9 10 11 12//省略27 28 29 30
界面如上图:
获得的数据应该怎么往列表中添加,求教添加的方法。
调试欢乐多
就是InsertItem和SetItemText啊
你一行就是七列,当月发生变化时,首先将所有行删除,然后再写本月信息。
首先插入一行再说,6月1日是星期一,那么从第1列开始插入数据,随后是第二直到第六列;再插入下一行......
int nMax = 30; //一个月的天数
int nSCol = 1; //该月第一天星期所在列。
m_List.DeleteAllItem();//清除
m_List.InsertItem(0,"");//插入一行
int nCurRow = 0;//当前处于哪一行
CString sDay = "";
int nCurCol = nSCol;
for(int i=0; i<nMax; i++)
{
sDay.Format("%d",i+1);
m_List.SetItemText(nCurRow,nCurCol,sDay);
nCurCol++;
//换行判断
if(nCurCol == 6)//到6满一行,需要加行并重新初始nCurCol
{
nCurRow++;
m_list.InsertItem(nCurRow,"");
nCurCol = 0;
}
}
当时想的是,星期几不固定,还有就是日期也不固定等等吧,考虑的太多了!!算法就十分麻烦了!!应该多想大哥学习了!