コード例 #1
0
ファイル: TimeM.cpp プロジェクト: BennyThink/TimeM
void CTimeMApp::OnFileNew()
{
	if(SaveAllModified())
	{
		CloseAllDocuments(FALSE);
		CWinAppEx::OnFileNew();
	}
}
コード例 #2
0
	~CWordHelper()
	{
		if(m_spApplication != 0)
		{
			CloseAllDocuments();
			_variant_t vtFalse = false;
			m_spApplication->Quit(&vtFalse,&vtFalse,&vtFalse);
			m_spApplication.Release();
			m_spApplication = NULL;
		}
		::CoUninitialize();
	}
コード例 #3
0
ファイル: TimeM.cpp プロジェクト: BennyThink/TimeM
CDocument* CTimeMApp::OpenDocumentFile(LPCTSTR lpszFileName)
{
	if(IsFileVideo(lpszFileName))
	{
		CMainFrame* pMain = (CMainFrame*)AfxGetMainWnd();
		if((NULL != pMain)
			&&(pMain->IsKindOf(RUNTIME_CLASS(CMainFrame))))
		{
			CPropertiesWnd* pVideo = pMain->GetPropertyWnd();
			if(NULL != pVideo)
				pVideo->VideoFileOpen(lpszFileName);
		}
		return NULL;
	}

	if(SaveAllModified())
	{
		CloseAllDocuments(FALSE);
		return CWinAppEx::OpenDocumentFile(lpszFileName);
	}
	return NULL;
}
コード例 #4
0
CDocument* CWinHTTrackApp::OpenDocumentFile( LPCTSTR lpszFileName)
{
  // Eviter deux fenêtres (un seul document)
  // Le CMultui..->CSingleDoc.. est trop complexe à changer (à cause du splitter-wnd)
  int count=1;

  { /* Check if a document exists, and if exists if empty or not, and if name is different */
    POSITION pos;
    pos=GetFirstDocTemplatePosition();
    if (pos) {
      CDocTemplate* tmpl=GetNextDocTemplate(pos);
      if (tmpl) {
        pos=tmpl->GetFirstDocPosition();
        if (pos) {
          CDocument* doc  = tmpl->GetNextDoc(pos);
          if (doc) {
            if (dialog0->GetName().GetLength()==0) {
              CloseAllDocuments(FALSE);
              count=0;        /* No documents */
            } else {
              if (dialog0->GetPath0()+".whtt" == LPCSTR(lpszFileName))
                return NULL;
            }
          }
        } else
          count=0;          /* No documents */
      }
    }
  }

  // Ouvrir nouvelle instance
  if (count) {
    char cmdl[2048];
    TCHAR ModulePath[MAX_PATH + 1];
    ModulePath[0] = '\0';
    ::GetModuleFileName(NULL, ModulePath, sizeof(ModulePath)/sizeof(TCHAR) - 1);
    CString name = ModulePath;
    strcpybuff(cmdl,"\"");
    strcatbuff(cmdl,lpszFileName);
    strcatbuff(cmdl,"\"");
    ShellExecute(NULL,"open",name,cmdl,"",SW_RESTORE);
    return NULL;
  }

  // Ouvrir nouveau?
  //if (count)
  //  return;       // ne rien faire, car limité à 1 document
  //count++;

  /* Ouvrir */
  /*
  CWinApp* app=AfxGetApp();
  POSITION pos;
  pos=app->GetFirstDocTemplatePosition();
  CDocTemplate* templ = app->GetNextDocTemplate(pos);
  pos=templ->GetFirstDocPosition();
  if (pos) {
    CDocument* doc  = templ->GetNextDoc(pos);
    if (doc)
      if (!doc->SaveModified())
        return NULL;
  }
  CloseAllDocuments(FALSE);
  */
  if (strlen(lpszFileName))
    return CWinApp::OpenDocumentFile(lpszFileName);
  else
    CWinApp::OnFileNew();
  return NULL;
}