home *** CD-ROM | disk | FTP | other *** search
/ Troubleshooting Netware Systems / CSTRIAL0196.BIN / attach / msj / v10n03 / bocole.exe / OCF4MFC.CPP < prev    next >
C/C++ Source or Header  |  1995-03-01  |  4KB  |  225 lines

  1. #include "ocf4mfc.h"
  2.  
  3. DIAG_DEFINE_GROUP(OCF4MFC, true, 1);
  4.  
  5.  
  6. ////////////////////////////////////////////////////////////////////////////
  7. //
  8. //
  9. IMPLEMENT_DYNAMIC(CMDIFrameOCF, CMDIFrameWnd)
  10. BEGIN_MESSAGE_MAP(CMDIFrameOCF, CMDIFrameWnd)
  11.   //{{AFX_MSG_MAP(CMDIFrameOCF)
  12.   ON_WM_CREATE()
  13.   ON_WM_DESTROY()
  14.  
  15.   ON_MESSAGE(WM_OCEVENT, OnOcEvent)
  16.   //}}AFX_MSG_MAP
  17. END_MESSAGE_MAP()
  18.  
  19.  
  20.  
  21. int  
  22. CMDIFrameOCF::OnCreate(LPCREATESTRUCT lpCreateStruct)
  23. {
  24.   int val = CMDIFrameWnd::OnCreate(lpCreateStruct);
  25.   OCFHlpr = new TOleFrameWin(m_hWnd);
  26.   OCFHlpr->OnCreate();
  27.  
  28.   TRACEX(OCF4MFC, 1, "OnCreate: (" << hex << uint(m_hWnd) << ')' );
  29.  
  30.   return val;
  31. }
  32.  
  33.  
  34. void 
  35. CMDIFrameOCF::OnDestroy()
  36. {
  37.   CMDIFrameWnd::OnDestroy();    
  38.  
  39.   OCFHlpr->OnDestroy();
  40.   delete OCFHlpr;
  41.   OCFHlpr = 0;
  42. }
  43.  
  44.  
  45. //
  46. // Handles OCAPPFRAMERECT
  47. //
  48. bool
  49. CMDIFrameOCF::OnOcAppFrameRect(HWND hwnd, TRect far* rect)
  50. {
  51.   GetClientRect(*((CRect*)rect));
  52.   return true;
  53. }
  54.  
  55.  
  56. //
  57. // Pass on OCAPPINSMENU to active child so it may merge in its menu
  58. //
  59. bool
  60. CMDIFrameOCF::OnOcAppInsMenus(HWND hwnd, TOcMenuDescr far* sharedMenu)
  61. {
  62.   return false;
  63. }
  64.  
  65.  
  66. //
  67. // Set menu handle specified by active child
  68. //
  69. bool
  70. CMDIFrameOCF::OnOcAppMenus(HWND hwnd, TOcMenuDescr far* menuDescr)
  71. {
  72.   return false;
  73. }
  74.  
  75.  
  76. bool
  77. CMDIFrameOCF::OnOcAppProcessMsg(HWND, MSG far*)
  78. {
  79.   return false;
  80. }
  81.  
  82.  
  83. bool
  84. CMDIFrameOCF::OnOcAppBorderSpaceReq(HWND, TRect far*)
  85. {
  86.   return true;  // We'll negotiate anything!
  87. }
  88.  
  89.  
  90. bool
  91. CMDIFrameOCF::OnOcAppBorderSpaceSet(HWND hwnd, TRect far* rect)
  92. {
  93.   return false;
  94. }
  95.  
  96.  
  97. //
  98. //
  99. //
  100. void
  101. CMDIFrameOCF::OnOcAppStatusText(HWND, const char far* /*text*/)
  102. {
  103. }
  104.  
  105.  
  106. //
  107. //
  108. //
  109. void
  110. CMDIFrameOCF::OnOcAppRestoreUI(HWND hwnd)
  111. {
  112. }
  113.  
  114.  
  115. LRESULT
  116. CMDIFrameOCF::OnOcEvent(WPARAM wParam, LPARAM lParam)
  117. {
  118.   TRACEX(OCF4MFC, 1, "WM_OCEVENT: (" << hex << uint(m_hWnd) <<
  119.          ") " << GetOcString(wParam));
  120.  
  121.   switch (wParam) {
  122.     HANDLE_OCF(m_hWnd, OC_APPFRAMERECT,       OnOcAppFrameRect);
  123.     HANDLE_OCF(m_hWnd, OC_APPBORDERSPACESET,  OnOcAppBorderSpaceSet);
  124.     HANDLE_OCF(m_hWnd, OC_APPBORDERSPACEREQ,  OnOcAppBorderSpaceReq);
  125.     HANDLE_OCF(m_hWnd, OC_APPINSMENUS,        OnOcAppInsMenus);
  126.     HANDLE_OCF(m_hWnd, OC_APPMENUS,           OnOcAppMenus);
  127.     HANDLE_OCF(m_hWnd, OC_APPRESTOREUI,       OnOcAppRestoreUI);
  128.  
  129.     default:
  130.       return 0;
  131.   }
  132. }
  133.  
  134.  
  135.  
  136. ////////////////////////////////////////////////////////////////////////////
  137. //
  138. //
  139. BEGIN_MESSAGE_MAP(CMDIChildOCF, CMDIChildWnd)
  140.   //{{AFX_MSG_MAP(CMDIChildOCF)
  141.   ON_WM_CREATE()
  142.   ON_WM_DESTROY()  
  143.                       
  144.   ON_WM_LBUTTONDOWN()
  145.   ON_WM_LBUTTONDBLCLK()
  146.  
  147.   ON_WM_SIZE()
  148.  
  149.   ON_UPDATE_COMMAND_UI(CM_EDITINSERTOBJECT, OnUpdateInsertObject)
  150.   ON_COMMAND(CM_EDITINSERTOBJECT, OnInsertObject)
  151.  
  152.   ON_MESSAGE(WM_OCEVENT, OnOcEvent)
  153.  
  154.   //}}AFX_MSG_MAP
  155. END_MESSAGE_MAP()
  156.  
  157.  
  158. int  
  159. CMDIChildOCF::OnCreate(LPCREATESTRUCT lpCreateStruct)
  160. {
  161.   OCFHlpr = new TOleWin(m_hWnd);
  162.   OCFHlpr->OnCreate();
  163.  
  164.   return CMDIChildWnd::OnCreate(lpCreateStruct);
  165. }
  166.  
  167.  
  168. void 
  169. CMDIChildOCF::OnDestroy()
  170. {
  171.   CMDIChildWnd::OnDestroy();    
  172.  
  173.   OCFHlpr->OnDestroy();
  174.   delete OCFHlpr;
  175.   OCFHlpr = 0;
  176. }
  177.  
  178.  
  179. void 
  180. CMDIChildOCF::OnLButtonDown(UINT nFlags, CPoint pt)
  181. {
  182.   if (!OCFHlpr->OnLButtonDown(pt.x, pt.y, nFlags))
  183.     CMDIChildWnd::OnLButtonDown(nFlags, pt);
  184. }
  185.  
  186.  
  187. void 
  188. CMDIChildOCF::OnLButtonDblClk(UINT nFlags, CPoint pt)
  189. {
  190.   if (!OCFHlpr->OnLButtonDblClk(pt.x, pt.y, nFlags))
  191.     CMDIChildWnd::OnLButtonDblClk(nFlags, pt);
  192. }
  193.  
  194.  
  195. void
  196. CMDIChildOCF::OnSize(UINT type, int cx, int cy)
  197. {
  198.   OCFHlpr->OnSize();
  199.   CMDIChildWnd::OnSize(type, cx, cy);
  200. }
  201.  
  202.  
  203. void 
  204. CMDIChildOCF::OnUpdateInsertObject(CCmdUI* pCmdUI)
  205. {
  206.   pCmdUI->Enable(GetOcApp() && OCFHlpr->GetOcView());
  207. }
  208.  
  209.  
  210. void 
  211. CMDIChildOCF::OnInsertObject()
  212. {
  213.   OCFHlpr->EditInsertObject();
  214. }
  215.  
  216.  
  217. LRESULT
  218. CMDIChildOCF::OnOcEvent(WPARAM wParam, LPARAM lParam)
  219. {
  220.   TRACEX(OCF4MFC, 1, "WM_OCEVENT: (" << hex << uint(m_hWnd) <<
  221.          ") " << GetOcString(wParam));
  222.  
  223.   return OCFHlpr->OnOcEvent(wParam, lParam);
  224. }
  225.