_IApplicationEvents FileNewNotify Event Send Feedback
See Also  Example
Doc
New document

Post-notifies an application when a new file is created.

Syntax

Visual Basic 
Public Delegate Sub _IApplicationEvents_FileNewNotifyEventHandler( _
) 
C# 
public delegate void _IApplicationEvents_FileNewNotifyEventHandler( 
)
JavaScript 
Event Not Supported 
)
COM native C++ 
FileNewNotify( 
    Doc
)
C++ 
FileNewNotify( 
)

Parameters

Doc
New document

Example

See the following code snippets:

  • COM native C++
  • C++

COM native C++

Header file

    //Register the events for the IApplication class
     BEGIN_SINK_MAP(CDsAddinConnection)
         SINK_ENTRY_EX(IDC_DSAPPLICATIONEVENT, DIID__IApplicationEvents, dsApplication_ActiveDocumetnChangedNotify_id, OnActiveDocumentChangedNotify) 
         SINK_ENTRY_EX(IDC_DSAPPLICATIONEVENT, DIID__IApplicationEvents, dsApplication_DestroyNotify_id, OnDestroyNotifyHandler)
         
         SINK_ENTRY_EX(IDC_DSAPPLICATIONEVENT, DIID__IApplicationEvents, dsApplication_FileNewNotify_id, OnFileNewNotify) 
         SINK_ENTRY_EX(IDC_DSAPPLICATIONEVENT, DIID__IApplicationEvents, dsApplication_FileOpenPostNotify_id, OnFileOpenPostNotify) 
         SINK_ENTRY_EX(IDC_DSAPPLICATIONEVENT, DIID__IApplicationEvents, dsApplication_FileOpenPreNotify_id, OnFileOpenPreNotify) 
     END_SINK_MAP()
     
     //Declare the callbacks for IApplication class
     
void __stdcall OnActiveDocumentChangedNotify();
     void __stdcall OnDestroyNotify();  
     void __stdcall OnFileNewNotify(IDocument* Doc);
     void __stdcall
OnFileOpenPostNotify(IDocument* Doc);
     void __stdcall OnFileOpenPreNotify(BSTR FileName, dsDocumentOpenOption_e Option);
   

 

Source file

void __stdcall CDsAddinConnection::OnFileNewNotify(IDocument* Doc)

{

       // TODO: Add your code here

}

 

C++

Header file 

class DSADDINSAMPLE_EXPORT myApplication :

public dsApplicationEvents_c, public dsCommandEvents_c

public:

myApplication(dsApplication_c *dsApp) : m_dsApp(dsApp) {

RegisterApplicationFileNewNotifyHook(m_dsApp);

RegisterApplicationFileOpenPreNotifyHook(m_dsApp);

RegisterApplicationFileOpenPostNotifyHook(m_dsApp);

}

 

~myApplication() {

UnRegisterApplicationFileNewNotifyHook(m_dsApp);

UnRegisterApplicationFileOpenPreNotifyHook(m_dsApp);

UnRegisterApplicationFileOpenPostNotifyHook(m_dsApp);

}

 

DeclareApplicationFileNewNotifyHook

DeclareApplicationFileOpenPreNotifyHook

DeclareApplicationFileOpenPostNotifyHook

 

bool FileNewNotify(dsDocument_c * docIn);

bool FileOpenPreNotify(dsString fileName, dsDocumentOpenOption_e Option);

bool FileOpenPostNotify(dsDocument_c* docIn);

 

Source file

ImplementApplicationFileNewNotifyHook(myApplication)

ImplementApplicationFileOpenPreNotifyHook(myApplication)

ImplementApplicationFileOpenPostNotifyHook(myApplication)

 

bool myApplication::FileNewNotify(dsDocument_c* docIn)

{

//TODO: Add your code here

     return true;

}

bool myApplication::FileOpenPreNotify(dsString fileName, dsDocumentOpenOption_e Option)

{

//TODO: Add your code here

return true;

}

bool myApplication::FileOpenPostNotify(dsDocument_c *docIn)

{

//TODO: Add your code here

     return true;

}

 

Back to top

Example

Remarks

If your application wants to use the IDispatch pointer to the new file, then your application must increment the reference count using AddRef. When your application is done with the new file, it must decrement the reference count using Release.

 

If developing a C++ application, use dsApplication_FileNewNotify_id to register for this notification.  

See Getting Started for more information about C++ interface add-in template callback functions.

See Also

Availability

DraftSight V1R1