📄 smsh.c
字号:
SetWindowText(property[i], NULL, NULL);
}
}
}
else //当前列表为降序时
{
for(i=0; i<HIS_DISP_MAX; i++) //更新列表显示
{
if(i < listnum) //数组没结束时显示,否则后面列表为空
{
if(strlen((*(nowlist2 + i))->name) == 0)
{
if(strlen((*(nowlist2 + i))->sms.number) != 0)
SetWindowText(history[i], (*(nowlist2 + i))->sms.number, NULL);
else
SetWindowText(history[i], "未写完短信", NULL);
}
else
{
SetWindowText(history[i], (*(nowlist2 + i))->name, NULL);
}
switch(*((*(nowlist2 + i))->flag))
{
case '1': //未读短信
SetWindowText(property[i], NULL, (char *)zi_weidu);
break;
case '2': //已读短信
SetWindowText(property[i], NULL, (char *)zi_yidu);
break;
case '3': //发送短信
SetWindowText(property[i], NULL, (char *)zi_yifasong);
break;
}
}
else
{
SetWindowText(history[i], "", NULL);
SetWindowText(property[i], NULL, NULL);
}
}
}
SetWindowText(man, "", NULL);
SetWindowText(time, "", NULL);
no = -1;
SetScrollRange(vscroll, 1, (U16)(length - HIS_DISP_MAX + 1)); //重新设置滚动条长度,并定位到最顶端
SetScrollPos(vscroll, 1, 0, 0);
row = 1; //偏移量也置为1
break;
case 2: //显示发送列表
if(strcmp(nowflag, SMS_SEND)) //当当前列表不是未读列表时,设定当前列表为未读列表,并读取
{
for(i=0; i<listnum; i++) //释放结构列表的空间
{
Lfree(nowlist[i]);
}
LoadHistory(SMS_SEND, &listnum, nowlist);
strcpy(nowflag, SMS_SEND);
}
else
break;
length = HIS_DISP_MAX;
if(listnum >= HIS_DISP_MAX) //判断新列表是否需要滚动条
{
length = listnum;
}
for(i=0; i<listnum; i++) //创建逆向列表
{
nowlist2[i] = nowlist[listnum - i - 1];
}
if(orderflag == UP) //当前排序为升序时
{
for(i=0; i<HIS_DISP_MAX; i++) //更新列表显示
{
if(i < listnum) //数组没结束时,显示,否则后面列表为空
{
if(strlen((*(nowlist + i))->name) == 0)
{
if(strlen((*(nowlist + i))->sms.number) != 0)
SetWindowText(history[i], (*(nowlist + i))->sms.number, NULL);
else
SetWindowText(history[i], "未写完短信", NULL);
}
else
{
SetWindowText(history[i], (*(nowlist + i))->name, NULL);
}
switch(*((*(nowlist + i))->flag))
{
case '1': //未读短信
SetWindowText(property[i], NULL, (char *)zi_weidu);
break;
case '2': //已读短信
SetWindowText(property[i], NULL, (char *)zi_yidu);
break;
case '3': //发送短信
SetWindowText(property[i], NULL, (char *)zi_yifasong);
break;
}
}
else
{
SetWindowText(history[i], "", NULL);
SetWindowText(property[i], NULL, NULL);
}
}
}
else //当前排序为降序时
{
for(i=0; i<HIS_DISP_MAX; i++) //更新列表显示
{
if(i < listnum) //数组没结束时,显示,否则后面列表为空
{
if(strlen((*(nowlist2 + i))->name) == 0)
{
if(strlen((*(nowlist2 + i))->sms.number) != 0)
SetWindowText(history[i], (*(nowlist2 + i))->sms.number, NULL);
else
SetWindowText(history[i], "未写完短信", NULL);
}
else
{
SetWindowText(history[i], (*(nowlist2 + i))->name, NULL);
}
switch(*((*(nowlist2 + i))->flag))
{
case '1': //未读短信
SetWindowText(property[i], NULL, (char *)zi_weidu);
break;
case '2': //已读短信
SetWindowText(property[i], NULL, (char *)zi_yidu);
break;
case '3': //发送短信
SetWindowText(property[i], NULL, (char *)zi_yifasong);
break;
}
}
else
{
SetWindowText(history[i], "", NULL);
SetWindowText(property[i], NULL, NULL);
}
}
}
SetWindowText(man, "", NULL);
SetWindowText(time, "", NULL);
no = -1;
SetScrollRange(vscroll, 1, (U16)(length - HIS_DISP_MAX + 1)); //重新设置滚动条长度,并定位到最顶端
SetScrollPos(vscroll, 1, 0, 0);
row = 1; //偏移量也置为1
break;
case 3: //全部列表
if(strcmp(nowflag, SMS_ALL)) //当当前列表不是未读列表时,设定当前列表为未读列表,并读取
{
for(i=0; i<listnum; i++) //释放结构列表的空间
{
Lfree(nowlist[i]);
}
LoadHistory(SMS_ALL, &listnum, nowlist);
strcpy(nowflag, SMS_ALL);
}
else
break;
length = HIS_DISP_MAX;
if(listnum >= HIS_DISP_MAX) //判断新列表是否需要滚动条
{
length = listnum;
}
for(i=0; i<listnum; i++) //创建逆向列表
{
nowlist2[i] = nowlist[listnum - i - 1];
}
if(orderflag == UP) //当前排序为升序时
{
for(i=0; i<HIS_DISP_MAX; i++) //更新列表显示
{
if(i < listnum) //数组没结束时显示,否则后面列表为空
{
if(strlen((*(nowlist + i))->name) == 0)
{
if(strlen((*(nowlist + i))->sms.number) != 0)
SetWindowText(history[i], (*(nowlist + i))->sms.number, NULL);
else
SetWindowText(history[i], "未写完短信", NULL);
}
else
{
SetWindowText(history[i], (*(nowlist + i))->name, NULL);
}
switch(*((*(nowlist + i))->flag))
{
case '1': //未读短信
SetWindowText(property[i], NULL, (char *)zi_weidu);
break;
case '2': //已读短信
SetWindowText(property[i], NULL, (char *)zi_yidu);
break;
case '3': //发送短信
SetWindowText(property[i], NULL, (char *)zi_yifasong);
break;
}
}
else
{
SetWindowText(history[i], "", NULL);
SetWindowText(property[i], NULL, NULL);
}
}
}
else //当前排序为降序时
{
for(i=0; i<HIS_DISP_MAX; i++) //更新列表显示
{
if(i < listnum) //数组没结束时显示,否则后面列表为空
{
if(strlen((*(nowlist + i))->name) == 0)
{
if(strlen((*(nowlist2 + i))->sms.number) != 0)
SetWindowText(history[i], (*(nowlist2 + i))->sms.number, NULL);
else
SetWindowText(history[i], "未写完短信", NULL);
}
else
{
SetWindowText(history[i], (*(nowlist2 + i))->name, NULL);
}
switch(*((*(nowlist2 + i))->flag))
{
case '1': //未读短信
SetWindowText(property[i], NULL, (char *)zi_weidu);
break;
case '2': //已读短信
SetWindowText(property[i], NULL, (char *)zi_yidu);
break;
case '3': //发送短信
SetWindowText(property[i], NULL, (char *)zi_yifasong);
break;
}
}
else
{
SetWindowText(history[i], "", NULL);
SetWindowText(property[i], NULL, NULL);
}
}
}
SetWindowText(man, "", NULL);
SetWindowText(time, "", NULL);
no = -1;
SetScrollRange(vscroll, 1, (U16)(length - HIS_DISP_MAX + 1)); //重新设置滚动条长度,并定位到最顶端
SetScrollPos(vscroll, 1, 0, 0);
row = 1; //偏移量也置为1
break;
}
}
break;
case WM_COMMAND:
if(msg.lparam == ssearch) //点击高级搜索按钮
{
for(i=0; i<listnum; i++) //释放结构列表的空间
{
Lfree(nowlist[i]);
}
searchprev = searchnow; //记录刚才的搜索列表
searchnow = SupSearch(&listnum, nowlist); //返回结果链表,listnum是链表的长度
if((searchnow == NULL) || (searchnow->searchtype == -1)) //判断是否进行了搜索,当没有进行搜索时
{
if(strcmp(nowflag, SMS_SEARCH)) //当刚才的列表类型不是为查找类型时
{
LoadHistory(nowflag, &listnum, nowlist); //按刚才的列表类型重新读入
// break;
}
else //刚才列表类型是查找类型时
{
searchlist = LocalFindRecord(lacb, SMSH_NAME_FIELD, searchprev->keyword, searchprev->searchtype ); //通过上一次的有效查找的记录重新查找
searchnow = searchprev; //当前查找记录依然是刚才的查找记录
for(i=0; i<listnum; i++)
{
Lfree(nowlist[i]);
}
listnum = searchlist->num; //刚才列表的个数
// if(i != listnum)
// Lfree(nowlist);
GetSMSList(nowlist, listnum, searchlist); //重新读入列表
// break;
}
}
else //进行了有效的搜索,更新显示
{
strcpy(nowflag, SMS_SEARCH);
}
length = HIS_DISP_MAX;
if(listnum >= HIS_DISP_MAX) //判断新列表是否需要滚动条
{
length = listnum;
}
for(i=0; i<listnum; i++) //创建逆向列表
{
nowlist2[i] = nowlist[listnum - i - 1];
}
if(orderflag == UP) //当前排序为升序时
{
for(i=0; i<HIS_DISP_MAX; i++) //更新列表显示
{
if(i < listnum) //数组没结束时,显示发信人名称,否则后面列表为空
{
if(strlen((*(nowlist + i))->name) == 0)
{
if(strlen((*(nowlist + i))->sms.number) != 0)
SetWindowText(history[i], (*(nowlist + i))->sms.number, NULL);
else
SetWindowText(history[i], "未写完短信", NULL);
}
else
{
SetWindowText(history[i], (*(nowlist + i))->name, NULL);
}
switch(*((*(nowlist + i))->flag))
{
case '1': //未读短信
SetWindowText(property[i], NULL, (char *)zi_weidu);
break;
case '2': //已读短信
SetWindowText(property[i], NULL, (char *)zi_yidu);
break;
case '3': //发送短信
SetWindowText(property[i], NULL, (char *)zi_yifasong);
break;
}
}
else
{
SetWindowText(history[i], "", NULL);
SetWindowText(property[i], NULL, NULL);
}
}
}
else //当前排序为降序时
{
for(i=0; i<HIS_DISP_MAX; i++) //更新列表显示
{
if(i < listnum) //数组没结束时,显示,否则后面列表为空
{
if(strlen((*(nowlist2 + i))->name) == 0)
{
if(strlen((*(nowlist2 + i))->sms.number) != 0)
SetWindowText(history[i], (*(nowlist2 + i))->sms.number, NULL);
else
SetWindowText(history[i], "未写完短信", NULL);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -