熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> C編程 >> 正文

個人考勤軟件開發實例

2022-06-13   來源: C編程 

  個人考勤軟件開發實例
       作者:YangLanGuang

  CAttendanceDlg dlg;

之後立即把這個對象的指針信息存入CWinApp::m_pMainWnd 和附加的m_pMiddle中備用

  m_pMainWnd = &dlg; m_pMiddle = &dlg;

在ClassWizard中為主對話框類導入OnCreate()函數在其中創建子框架對象CChildFrame

  CChildFrame* pFrame = new CChildFrame; m_pChildFrame = pFrame; pFrame>LoadFrame(IDR_MAINFRAME WS_OVERLAPPEDWINDOW | FWS_ADDTOTITLE NULL//m_pMainWnd NULL);

暫時將其顯示狀態置為隱藏 m_pChildFrame>ShowWindow(SW_HIDE);
     
      在子框架對象CChildFrame的OnCreate()函數中創建子視類對象CChildView

  CCreateContext context; contextm_pNewViewClass = RUNTIME_CLASS(CChildView); contextm_pCurrentFrame = this; contextm_pCurrentDoc = NULL; contextm_pLastView = NULL; m_pView = STATIC_DOWNCAST(CChildView CreateView(&context)); //CreateView(&context); if(m_pView != NULL) { m_pView>ShowWindow(SW_HIDE);//暫時將其顯示狀態也置為隱藏 SetActiveView(m_pView); }

在主對話框的打印或打印預覽處理函數中只要向子框架CChildFrame發送相應的消息即可       對於打印函數為

  m_pChildFrame>SendMessage(WM_COMMAND ID_FILE_PRINT);

或對於打印預覽函數為

  m_pChildFrame>ShowWindow(SW_SHOW);//將子框架CChildFrame顯示狀態置為顯示 m_pChildFrame>SendMessage(WM_COMMAND ID_FILE_PRINT_PREVIEW);//打印預覽

在子框架CChildFrame的打印預覽處理函數中需要將CWinApp::m_pMainWnd暫時替換為子框架CChildFrame的指針並把子視類對象的顯示狀態激活後調用子視類對象的打印預覽處理函數

  CAttendanceApp* app=(CAttendanceApp*)AfxGetApp(); app>m_pMainWnd = this;//應用程序主窗口臨時替換為子框架窗口 m_pView>ShowWindow(SW_SHOW); SetActiveView(m_pView); m_pView>OnFilePrintPreview(this);

打印預覽結束退出之前必須恢復原有的顯示狀態並將CWinApp::m_pMainWnd恢復為主對話框

  pParent>ShowWindow(SW_HIDE);//將子框架CChildFrame顯示狀態重新置為隱藏 pParent>UpdateWindow(); CAttendanceApp* app=(CAttendanceApp*)AfxGetApp(); app>m_pMainWnd = app>m_pMiddle;//應用程序主窗口恢復為主對話框窗口 app>m_pMiddle>UpdateWindow();

這些後處理工作放在CWrapperView::OnEndPrintPreview()函數中的結尾處完成
           
            最後還要為子框架創建一個標識為IDR_MAINFRAME的菜單資源    
From:http://tw.wingwit.com/Article/program/c/201401/30249.html
    推薦文章
    Copyright © 2005-2022 電腦知識網 Computer Knowledge   All rights reserved.