home *** CD-ROM | disk | FTP | other *** search
/ Power GUI Programming with VisualAge C++ / powergui.iso / powergui / advframe / tstdlg / tstdlg.cpp < prev    next >
C/C++ Source or Header  |  1996-10-29  |  2KB  |  86 lines

  1. //************************************************************
  2. // Advanced Frame - Dialog Window Example
  3. //
  4. // Copyright (C) 1994, Law, Leong, Love, Olson, Tsuji.
  5. // Copyright (c) 1997 John Wiley & Sons, Inc. 
  6. // All Rights Reserved.
  7. //************************************************************
  8. #include <ibase.hpp>
  9. #ifdef IC_PM
  10.   #define INCL_WIN
  11.   #include <os2.h>
  12. #else
  13.   #include <windows.h>
  14. #endif
  15.  
  16. #include <istattxt.hpp>
  17. #include <ithread.hpp>
  18.  
  19. #include "dialog.hpp"
  20. #include "dlghndlr.hpp"
  21.  
  22. class MyDialogHandler : public DialogHandler {
  23. public:
  24. virtual Boolean
  25.   initialize( DialogInitEvent& initEvent )
  26.     {
  27.     IStaticText
  28.       text( IWindow::handleWithParent(1,  initEvent.handle() ) );
  29.     text.setText( (char*)( initEvent.createParameters() ) );
  30.     return false;
  31.     }
  32. };
  33.  
  34. #ifdef IC_PM
  35. static void * _System myDlgProc( unsigned long  hwnd,
  36.                                  unsigned long  eventId,
  37.                                  void*          parm1,
  38.                                  void*          parm2 )
  39.   {
  40.   if ( eventId == WM_INITDLG )
  41.     {
  42.     IStaticText
  43.       text( IWindow::handleWithParent(1,  hwnd ) );
  44.     text.setText( (char*)parm2 );
  45.     }
  46.   return WinDefDlgProc( hwnd, eventId, parm1, parm2 );
  47.   }
  48.  
  49. #else
  50. static void* CALLBACK  myDlgProc( void*          hwnd,
  51.                                   unsigned long  eventId,
  52.                                   void*          parm1,
  53.                                   void*          parm2 )
  54.   {
  55.   if ( eventId == WM_INITDIALOG )
  56.     {
  57.     IStaticText
  58.       text( IWindow::handleWithParent(1,  hwnd ) );
  59.     text.setText( (char*)parm2 );
  60.     }
  61.   return 0;
  62.   }
  63.  
  64.  
  65. #endif
  66.  
  67. void main()
  68.   {
  69.   MyDialogHandler
  70.     myHandler;
  71.   DialogWindow
  72.    dlg1( IC_DEFAULT_FRAME_ID,
  73.          IWindow::desktopWindow(),
  74.          myHandler,
  75.          "myHandler" );
  76.   DialogWindow
  77.     dlg2( IC_DEFAULT_FRAME_ID,
  78.           IWindow::desktopWindow(),
  79.           myDlgProc,
  80.           "myDlgProc" );
  81.   dlg1.show();
  82.   dlg2.show().setFocus();
  83.   IApplication::current().run();
  84.   }
  85.  
  86.