高手来光临一下,在MFC下 实现翻页功能! 
类似于google 最下方的  上一页 下一页的功能!
不知道 我说的是否清楚 麻烦知道的帮我解答一下!

解决方案 »

  1.   

    http://img.ph.126.net/IjXd6jYdutSq27FSPD3JLA==/3237243707149559328.jpg看看这个地址吧
      

  2.   

    如果是vs2008的话, 用CMFCTabCtrl, 选择onenote风格.不是的话, 自己实现, 顶部button, 下面一些Dlg.
      

  3.   

    这个效果也行 就是类似于google最下面的那个!
      

  4.   

    哦我使用listcontrol绑定数据,通过按钮实现上下页控制listcontrol的上下页翻页,
      

  5.   


    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;  
    }
      

  6.   


    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("无法连接到服务器!"));
    }}