_IApplicationEvents FileOpenPreNotify Event Send Feedback
See Also  Example
FileName
Name of the file about to be opened
Option
Open option as defined in dsDocumentOpenOption_e
Pre-notifies an application before a file opens.

Syntax

Visual Basic 
Public Delegate Sub _IApplicationEvents_FileOpenPreNotifyEventHandler( _
) 
C# 
public delegate void _IApplicationEvents_FileOpenPreNotifyEventHandler( 
)
JavaScript 
Event Not Supported 
)
COM native C++ 
FileOpenPreNotify( 
    FileName,
    Option
)
C++ 
FileOpenPreNotify( 
)

Parameters

FileName
Name of the file about to be opened
Option
Open option as defined in dsDocumentOpenOption_e

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::OnFileOpenPreNotify(BSTR FileName, dsDocumentOpenOption_e Option)

{

       //TODO: Add your implementation 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 developing a C++ application, use dsApplication_FileOpenPreNotify_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