WEB开发网
开发学院软件开发VC 用VC++创建自定义向导程序 阅读

用VC++创建自定义向导程序

 2010-06-04 20:37:50 来源:WEB开发网   
核心提示:显示的页,入口参数为要显示的某特定页的编码void CWizard::ShowPage(UINT nPos){struct PAGELINK* pTemp=pPageLink;while(pTemp){if(pTemp->nNum==nPos){pTemp->pDialog->ShowWindow(S

显示的页,入口参数为要显示的某特定页的编码

void CWizard::ShowPage(UINT nPos)
{
 struct PAGELINK* pTemp=pPageLink;
  while(pTemp)
  {
  if(pTemp->nNum==nPos)
  {
    pTemp->pDialog->ShowWindow(SW_SHOW);
  }
 else
    //不显示
    pTemp->pDialog->ShowWindow(SW_HIDE);
 pTemp=pTemp->Next;
 }
 if (nPos>=nPageCount) //最后一页
 {
  nCurrentPage=nPageCount;
  SetWizButton(2);
  return;
 }
 if (nPos<=1) //首页
 {
  nCurrentPage=1;
  SetWizButton(0);
  return;
 }
 //如果是中间步
 SetWizButton(1);
}

为了与显示统一,需要相应的设置按钮

void CWizard::SetWizButton(UINT uFlag)
{
 GetDlgItem(IDC_CANCEL)->EnableWindow(TRUE);
 GetDlgItem(IDC_PREV)->EnableWindow(TRUE);
 GetDlgItem(IDC_NEXT)->EnableWindow(TRUE);
 GetDlgItem(IDC_FINISH)->EnableWindow(TRUE);
 switch(uFlag)
 {
 case 0: //第一步
  GetDlgItem(IDC_PREV)->EnableWindow(FALSE);
  break;
 case 1: //中间步
  break;
 case 2: //最后一步
  GetDlgItem(IDC_NEXT)->EnableWindow(FALSE);
  break;
 }
}

点击“上一步”、“下一步”、“完成”、“取消”代码

void CWizard::OnPrev()
{
 // TODO: Add your control notification handler code here
 ShowPage(--nCurrentPage);
}
void CWizard::OnNext()
{
 // TODO: Add your control notification handler code here
 ShowPage(++nCurrentPage);
}
void CWizard::OnFinish()
{
 // TODO: Add your control notification handler code here
 AfxMessageBox("采用默认值完成向导");
 CDialog::OnOK();
}
void CWizard::OnCancel()
{
 // TODO: Add your control notification handler code here
 if (AfxMessageBox(IDS_QUIT,MB_OKCANCEL|MB_ICONQUESTION)==IDCANCEL)
  return;
 CDialog::OnCancel();
}

上一页  1 2 3 4 5  下一页

Tags:VC 创建 定义

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接