Beispiel #1
0
void COCCDemoDoc::OnDumpView() 
{
  // save current directory and restore it on exit
  char aCurPath[MAX_PATH];
  ::GetCurrentDirectory(MAX_PATH, aCurPath);

  ::SetCurrentDirectory(myLastPath);

  CFileDialog *aDlg = new CFileDialog(false, "gif", "OCCView.gif", 
    OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, "GIF Files (*.gif)|*.gif||", NULL);

  int result = aDlg->DoModal();
  if ( result == IDOK) 
  {
    CString aFileName = aDlg->GetFileName();
    delete aDlg;

    POSITION pos = GetFirstViewPosition();
    while (pos != NULL)
    {
      COCCDemoView* pView = (COCCDemoView*) GetNextView(pos);
      pView->UpdateWindow();
    }       

    myViewer->InitActiveViews();
    Handle(V3d_View) aView = myViewer->ActiveView();
    char aStrFileName[MAX_PATH];
    strcpy(aStrFileName, aFileName);
    aView->Dump(aStrFileName);
  }
  else 
    delete aDlg;
  
  ::GetCurrentDirectory(MAX_PATH, myLastPath);
  ::SetCurrentDirectory(aCurPath);
}