ipframe.cpp
上传用户:biuytresa
上传日期:2007-12-07
资源大小:721k
文件大小:4k
源码类别:

DNA

开发平台:

Visual C++

  1. // IpFrame.cpp : implementation of the CInPlaceFrame class
  2. //
  3. // This is a part of the Microsoft Foundation Classes C++ library.
  4. // Copyright (C) 1992-1998 Microsoft Corporation
  5. // All rights reserved.
  6. //
  7. // This source code is only intended as a supplement to the
  8. // Microsoft Foundation Classes Reference and related
  9. // electronic documentation provided with the library.
  10. // See these sources for detailed information regarding the
  11. // Microsoft Foundation Classes product.
  12. #include "stdafx.h"
  13. #include "Scribble.h"
  14. #include "IpFrame.h"
  15. #ifdef _DEBUG
  16. #undef THIS_FILE
  17. static char THIS_FILE[] = __FILE__;
  18. #endif
  19. /////////////////////////////////////////////////////////////////////////////
  20. // CInPlaceFrame
  21. IMPLEMENT_DYNCREATE(CInPlaceFrame, COleIPFrameWnd)
  22. BEGIN_MESSAGE_MAP(CInPlaceFrame, COleIPFrameWnd)
  23. //{{AFX_MSG_MAP(CInPlaceFrame)
  24. ON_WM_CREATE()
  25. //}}AFX_MSG_MAP
  26. // Global help commands
  27. ON_COMMAND(ID_HELP_FINDER, COleIPFrameWnd::OnHelpFinder)
  28. ON_COMMAND(ID_HELP, COleIPFrameWnd::OnHelp)
  29. ON_COMMAND(ID_DEFAULT_HELP, COleIPFrameWnd::OnHelpFinder)
  30. ON_COMMAND(ID_CONTEXT_HELP, COleIPFrameWnd::OnContextHelp)
  31. END_MESSAGE_MAP()
  32. /////////////////////////////////////////////////////////////////////////////
  33. // CInPlaceFrame construction/destruction
  34. CInPlaceFrame::CInPlaceFrame()
  35. {
  36. }
  37. CInPlaceFrame::~CInPlaceFrame()
  38. {
  39. }
  40. int CInPlaceFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)
  41. {
  42. if (COleIPFrameWnd::OnCreate(lpCreateStruct) == -1)
  43. return -1;
  44. // CResizeBar implements in-place resizing.
  45. if (!m_wndResizeBar.Create(this))
  46. {
  47. TRACE0("Failed to create resize barn");
  48. return -1;      // fail to create
  49. }
  50. // By default, it is a good idea to register a drop-target that does
  51. //  nothing with your frame window.  This prevents drops from
  52. //  "falling through" to a container that supports drag-drop.
  53. m_dropTarget.Register(this);
  54. return 0;
  55. }
  56. // OnCreateControlBars is called by the framework to create control bars on the
  57. //  container application's windows.  pWndFrame is the top level frame window of
  58. //  the container and is always non-NULL.  pWndDoc is the doc level frame window
  59. //  and will be NULL when the container is an SDI application.  A server
  60. //  application can place MFC control bars on either window.
  61. BOOL CInPlaceFrame::OnCreateControlBars(CFrameWnd* pWndFrame, CFrameWnd* pWndDoc)
  62. {
  63. // Set owner to this window, so messages are delivered to correct app
  64. m_wndToolBar.SetOwner(this);
  65. // Create toolbar on client's frame window
  66. if (!m_wndToolBar.Create(pWndFrame) ||
  67. !m_wndToolBar.LoadToolBar(IDR_SCRIBBTYPE_SRVR_IP))
  68. {
  69. TRACE0("Failed to create toolbarn");
  70. return FALSE;
  71. }
  72. // TODO: Remove this if you don't want tool tips
  73. m_wndToolBar.SetBarStyle(m_wndToolBar.GetBarStyle() |
  74. CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC);
  75. // TODO: Delete these three lines if you don't want the toolbar to
  76. //  be dockable
  77. m_wndToolBar.EnableDocking(CBRS_ALIGN_ANY);
  78. pWndFrame->EnableDocking(CBRS_ALIGN_ANY);
  79. pWndFrame->DockControlBar(&m_wndToolBar);
  80. return TRUE;
  81. }
  82. BOOL CInPlaceFrame::PreCreateWindow(CREATESTRUCT& cs)
  83. {
  84. // TODO: Modify the Window class or styles here by modifying
  85. //  the CREATESTRUCT cs
  86. return COleIPFrameWnd::PreCreateWindow(cs);
  87. }
  88. /////////////////////////////////////////////////////////////////////////////
  89. // CInPlaceFrame diagnostics
  90. #ifdef _DEBUG
  91. void CInPlaceFrame::AssertValid() const
  92. {
  93. COleIPFrameWnd::AssertValid();
  94. }
  95. void CInPlaceFrame::Dump(CDumpContext& dc) const
  96. {
  97. COleIPFrameWnd::Dump(dc);
  98. }
  99. #endif //_DEBUG
  100. /////////////////////////////////////////////////////////////////////////////
  101. // CInPlaceFrame commands