home *** CD-ROM | disk | FTP | other *** search
- /**********************************************************************/
- /* Dlgnopar.cpp by Bob Bourbonnais */
- /* released to the public domain 12/16/91 */
- /* This program demonstrates a dialog box */
- /* with a menu and two buttons that can call a non-modal */
- /* dialog box with out a parent from either the menu or a button */
- /* A non-modal dialog box will not keep control. You can go */
- /* to other windows while it is open. A non-modal dialog box */
- /* without a parent becomes its own main window dialog box. */
- /* If another window gets the focus, a non-modal without a parent */
- /* will go behind the window with the focus. */
- /**********************************************************************/
- #include <owl.h>
- #include <dialog.h>
- #include "dlgnopar.h"
-
- class TDialog6Dialog : public TDialog // Dialog class to add
- { // processing for menu and
- public: // button selections
- TDialog6Dialog(LPSTR lpName) // constructor calls
- :TDialog(NULL,lpName) {}; // base class constructor
- virtual void HandleMenuItem(RTMessage Msg) // menu handler
- = [CM_FIRST + IDM_NON_MODAL_DIALOG];
- virtual void HandleButtonMessage(RTMessage Msg) // button handler
- = [ID_FIRST + IDB_NON_MODAL_DIALOG]; // close button handled by
- }; // base class button handler
- void TDialog6Dialog:: HandleMenuItem(RTMessage)
- {
- GetApplication()->MakeWindow(new TDialog(NULL,"Non_Modal_Dialog_Box"));
- } // MakeWindow activates a non-modal dialog box
- // the null qualifier makes it parentless.
- void TDialog6Dialog:: HandleButtonMessage(RTMessage)
- {
- GetApplication()->MakeWindow(new TDialog(NULL,"Non_Modal_Dialog_Box"));
- }
-
- class TDialog6App : public TApplication // Application Class to contain
- { // the application
- public:
- TDialog6App(LPSTR lpName, HANDLE hInstance, // constructor calls the
- HANDLE hPrevInstance, // base class constructor
- LPSTR lpCmdLine, int nCmdShow)
- :TApplication(lpName, hInstance,
- hPrevInstance,
- lpCmdLine, nCmdShow) {};
-
- virtual void InitMainWindow(); // overrides base class InitMainWindow
- };
-
- void TDialog6App::InitMainWindow() // to initialize a dialog box
- { // as the main window
- MainWindow = new TDialog6Dialog("Main_Window_Dialog");
- } // using message processing provided
- // by derived class
-
- int PASCAL WinMain(HANDLE hInstance, // main entry point from
- HANDLE hPrevInstance, // windows to this program
- LPSTR lpCmdLine , int nCmdShow)
- {
- TDialog6App Dialog6("Dialog Tester",hInstance, // create instance of
- hPrevInstance, // the dialog application
- lpCmdLine,nCmdShow);
- Dialog6.Run(); // run it
- return (Dialog6.Status); // exit
- }
- /**********************************************************************/
-