高手来光临一下,在MFC下 实现翻页功能!

SLR0909 2009-10-29 01:53:43
高手来光临一下,在MFC下 实现翻页功能!
类似于google 最下方的 上一页 下一页的功能!
不知道 我说的是否清楚 麻烦知道的帮我解答一下!
...全文
411 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
SLR0909 2009-11-02
  • 打赏
  • 举报
回复
好的 谢谢你!! 结贴!
l10312597 2009-10-30
  • 打赏
  • 举报
回复
看不懂
gavinma 2009-10-30
  • 打赏
  • 举报
回复
哥们 你是不是该结贴了,代码都给你了。
gavinma 2009-10-29
  • 打赏
  • 举报
回复

void COnLineTeaDlg::OnBnClickedButtonFirst()//第一页按钮
{
// TODO: Add your control notification handler code here
intPageNo=1;
listCtrl.DeleteAllItems();
BindListCtrl(0);
}

void COnLineTeaDlg::OnBnClickedButtonPrevous()//前一页
{
// TODO: Add your control notification handler code here
if(intPageNo==1)
{
MessageBox(_T("已是第一页"));
}
if(intPageNo>1)
{
intPageNo--;
listCtrl.DeleteAllItems();
BindListCtrl(0);
}
}

void COnLineTeaDlg::OnBnClickedButtonNext()//下一页
{
// TODO: Add your control notification handler code here
intPageNo++;
listCtrl.DeleteAllItems();
BindListCtrl(0);
}

void COnLineTeaDlg::OnBnClickedButtonLast()//最后一页
{
// TODO: Add your control notification handler code here
listCtrl.DeleteAllItems();
BindListCtrl(1);
}

void COnLineTeaDlg::BindListCtrl(int intLastPage)//绑定数据
{
/*下面是绑定数据的调用*/
/*
CComQIPtr <IXMLDOMDocument2> spResponseXMLDoc;
CString* value;

if(spXMLHTTPList->status==200)
{
spResponseXMLDoc = spXMLHTTPList->responseXML;

CString csUserID = _T("//UserID");
CString csUserName = _T("//UserName");
CString csTrueName = _T("//TrueName");
CString csOrganizationName = _T("//OrganizationName");
CString csTeacherGradeName = _T("//teacherGradeName");
CString csGradeTypeSubjectName = _T("//GradeTypeSubjectName");

MSXML2::IXMLDOMNodeListPtr nlUserID=spResponseXMLDoc->selectNodes(_bstr_t(((wchar_t *) csUserID.AllocSysString())));
MSXML2::IXMLDOMNodeListPtr nlUserName=spResponseXMLDoc->selectNodes(_bstr_t(((wchar_t *) csUserName.AllocSysString())));
MSXML2::IXMLDOMNodeListPtr nlTrueName=spResponseXMLDoc->selectNodes(_bstr_t(((wchar_t *) csTrueName.AllocSysString())));
MSXML2::IXMLDOMNodeListPtr nlOrganizationName=spResponseXMLDoc->selectNodes(_bstr_t(((wchar_t *) csOrganizationName.AllocSysString())));
MSXML2::IXMLDOMNodeListPtr nlTeacherGradeName=spResponseXMLDoc->selectNodes(_bstr_t(((wchar_t *) csTeacherGradeName.AllocSysString())));
MSXML2::IXMLDOMNodeListPtr nlGradeTypeSubjectName=spResponseXMLDoc->selectNodes(_bstr_t(((wchar_t *) csGradeTypeSubjectName.AllocSysString())));
*/
int intStart=intPageSize*(intPageNo-1);
int intEnd=intPageSize*intPageNo;
if(nlUserID->length<intStart)
{
intPageNo--;
intStart=intPageSize*(intPageNo-1);
MessageBox(_T("已到达最末页"));
//return;
}
if(nlUserID->length<=intEnd)
{
intEnd=nlUserID->length;
}
if(intLastPage==1)
{
intStart=(nlUserID->length/intPageSize)*intPageSize;
intEnd=nlUserID->length;
intLastPage=0;
}

value=new CString[nlUserID->length];
for(int i=intStart;i<intEnd;i++)
{
value[i]=(char*)nlUserID->item[i]->text;
int nRow=listCtrl.InsertItem(0,nlUserName->item[i]->text);
listCtrl.SetItemText(nRow,1,nlTrueName->item[i]->text);
listCtrl.SetItemText(nRow,2,nlOrganizationName->item[i]->text);
listCtrl.SetItemText(nRow,3,nlTeacherGradeName->item[i]->text);
listCtrl.SetItemText(nRow,4,nlGradeTypeSubjectName->item[i]->text);
listCtrl.SetItemData(i,(DWORD)(&value[i]));
}
csPageNo.Format(TEXT("%d"),intPageNo);
SetDlgItemText(IDC_STATIC_PAGE,csPageNo);
}
else
{
MessageBox(_T("无法连接到服务器!"));
}

}
gavinma 2009-10-29
  • 打赏
  • 举报
回复

BOOL COnLineTeaDlg::OnInitDialog()
{
CDialog::OnInitDialog();

// TODO: Add extra initialization here
intPageSize=10;//每页显示数目
intPageNo=1;//页数编号
csPageNo.Format(TEXT("%d"),intPageNo);
SetDlgItemText(IDC_STATIC_PAGE,csPageNo);
listCtrl.SetExtendedStyle(LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES);
listCtrl.InsertColumn(0, _T("xxx"), LVCFMT_LEFT, 80);
listCtrl.InsertColumn(1, _T("xxx"), LVCFMT_LEFT, 80);
listCtrl.InsertColumn(2, _T("xxx"), LVCFMT_LEFT, 80);//插入列
listCtrl.InsertColumn(3, _T("xxx"), LVCFMT_LEFT, 80);
listCtrl.InsertColumn(4, _T("xxx"), LVCFMT_LEFT, 80);
webServiceInterFace * wsf;
shellWebservice sw;
CComPtr<IXMLHTTPRequest> spXMLHTTP;
CComQIPtr <IXMLDOMDocument2> spResponseXMLDoc;
CString* value;
wsf=(webServiceInterFace *) new webServiceSearchTeacher(_T("-1"),_T("-1"),_T("-1"),_T("-1"),_T(""),_T(""));
spXMLHTTP=sw.webServiceRequest(wsf);
spXMLHTTPList=spXMLHTTP;//数据通过webservic调用的
BindListCtrl(0);
return TRUE;
}
SLR0909 2009-10-29
  • 打赏
  • 举报
回复
能说的具体些么,最好能有个例子!
gavinma 2009-10-29
  • 打赏
  • 举报
回复
哦我使用listcontrol绑定数据,通过按钮实现上下页控制listcontrol的上下页翻页,
SLR0909 2009-10-29
  • 打赏
  • 举报
回复
这个效果也行 就是类似于google最下面的那个!
muzizongheng 2009-10-29
  • 打赏
  • 举报
回复
如果是vs2008的话, 用CMFCTabCtrl, 选择onenote风格.

不是的话, 自己实现, 顶部button, 下面一些Dlg.
gavinma 2009-10-29
  • 打赏
  • 举报
回复
http://img.ph.126.net/IjXd6jYdutSq27FSPD3JLA==/3237243707149559328.jpg看看这个地址吧
SLR0909 2009-10-29
  • 打赏
  • 举报
回复
不好意思 我看不到图片 图片上说的是 图片服务器正在维护,稍后即可恢复
gavinma 2009-10-29
  • 打赏
  • 举报
回复

是这样吗?

16,551

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Creator Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧