www.gusucode.com > VC++双选系统毕业设计管理系统(ACCESS)-源码程序 > VC++双选系统毕业设计管理系统(ACCESS)-源码程序/code/StudentDlg.cpp
//Download by http://www.NewXing.com // StudentDlg.cpp : implementation file // #include "stdafx.h" #include "gradudemis.h" #include "StudentDlg.h" #include "StudentTab1.h" #include "StudentTab2.h" #ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif ///////////////////////////////////////////////////////////////////////////// // CStudentDlg dialog CStudentDlg::CStudentDlg(CWnd* pParent /*=NULL*/) : CDialog(CStudentDlg::IDD, pParent) { //{{AFX_DATA_INIT(CStudentDlg) // NOTE: the ClassWizard will add member initialization here //}}AFX_DATA_INIT } void CStudentDlg::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); //{{AFX_DATA_MAP(CStudentDlg) DDX_Control(pDX, IDC_TAB1, m_Tab); //}}AFX_DATA_MAP } BEGIN_MESSAGE_MAP(CStudentDlg, CDialog) //{{AFX_MSG_MAP(CStudentDlg) ON_WM_DESTROY() ON_NOTIFY(TCN_SELCHANGE, IDC_TAB1, OnSelchangeTab1) //}}AFX_MSG_MAP END_MESSAGE_MAP() ///////////////////////////////////////////////////////////////////////////// // CStudentDlg message handlers void CStudentDlg::SetDlgState(CWnd *pWnd,BOOL bShow) { pWnd->EnableWindow(bShow); //窗口的隐藏与显示根据变量的值 if(bShow) //判断 { pWnd->ShowWindow(SW_SHOW); //显示点击标签关联的窗口 pWnd->CenterWindow(); //窗口居中 if(bTab[1]) m_pTab2Dlg->OnShow(); //显示窗口 } else pWnd->ShowWindow(SW_HIDE); //隐藏窗口 } void CStudentDlg::DoTab(int nTab) { if(nTab>1)nTab=1; //边界的判断 if(nTab<0)nTab=0; bTab[0]=bTab[1]=false; //定义布尔变量初始值false bTab[nTab]=TRUE; //点击哪个标签其为true SetDlgState(m_pTab1Dlg,bTab[0]); //更改窗口的状态 SetDlgState(m_pTab2Dlg,bTab[1]); //更改窗口的状态 } void CStudentDlg::OnDestroy() { CDialog::OnDestroy(); if(m_pTab1Dlg) delete m_pTab1Dlg; //释放窗口的指针 if(m_pTab2Dlg) delete m_pTab2Dlg; //释放窗口的指针 } void CStudentDlg::OnSelchangeTab1(NMHDR* pNMHDR, LRESULT* pResult) { // TODO: Add your control notification handler code here int nSelect=m_Tab.GetCurSel(); //获取用户点击标签的索引号 if (nSelect>=0) DoTab(nSelect); //调用函数改变窗口状态 *pResult = 0; } BOOL CStudentDlg::OnInitDialog() { CDialog::OnInitDialog(); CStudentTab1 *p=(CStudentTab1 *)AfxGetApp(); m_pTab1Dlg=new CStudentTab1(); //new一个对话框指针 m_pTab2Dlg=new CStudentTab2(); m_pTab1Dlg->Create(IDD_STU_DIALOG1,&m_Tab);//创建对话框 m_pTab2Dlg->Create(IDD_STU_DIALOG2,&m_Tab); m_Tab.InsertItem(0,"学生信息查询",0); //为标签插入标题 m_Tab.InsertItem(1,"学生信息操作",1); m_Tab.SetMinTabWidth(80); //设置标签的宽度 m_Tab.SetPadding(CSize(6,2)); //设置尺寸 m_Tab.SetCurSel(0); //默认选中第一个标签 DoTab(0); //显示第一个标签惯量的窗口 return TRUE; // return TRUE unless you set the focus to a control // EXCEPTION: OCX Property Pages should return FALSE }