When the options button is clicked, you will need to either set up a member variable (e.g.: m_bInvokeOptionsDlg) or a unique return value and exit the dialog.
The calling function should then check this value and invoke the options dialog box. Once the call returns, you could loop back and open the initial dialog again.
Another alternative would be to invoke the options dialog box directly when the options button is clicked, but then both the dialog boxes would be visible.