IPROPPG.CPP
上传用户:bangxh
上传日期:2007-01-31
资源大小:42235k
文件大小:6k
源码类别:

Windows编程

开发平台:

Visual C++

  1. /*
  2.  * IPROPPG.CPP
  3.  *
  4.  * Template IPropertyPage interface implementation.
  5.  *
  6.  * Copyright (c)1993-1995 Microsoft Corporation, All Rights Reserved
  7.  *
  8.  * Kraig Brockschmidt, Microsoft
  9.  * Internet  :  kraigb@microsoft.com
  10.  * Compuserve:  >INTERNET:kraigb@microsoft.com
  11.  */
  12. #include "iproppg.h"
  13. /*
  14.  * CImpIPropertyPage::CImpIPropertyPage
  15.  * CImpIPropertyPage::~CImpIPropertyPage
  16.  *
  17.  * Parameters (Constructor):
  18.  *  pObj            LPVOID of the object we're in.
  19.  *  pUnkOuter       LPUNKNOWN to which we delegate.
  20.  */
  21. CImpIPropertyPage::CImpIPropertyPage(LPVOID pObj
  22.     , LPUNKNOWN pUnkOuter)
  23.     {
  24.     m_cRef=0;
  25.     m_pObj=pObj;
  26.     m_pUnkOuter=pUnkOuter;
  27.     return;
  28.     }
  29. CImpIPropertyPage::~CImpIPropertyPage(void)
  30.     {
  31.     return;
  32.     }
  33. /*
  34.  * CImpIPropertyPage::QueryInterface
  35.  * CImpIPropertyPage::AddRef
  36.  * CImpIPropertyPage::Release
  37.  *
  38.  * Purpose:
  39.  *  Delegating IUnknown members for CImpIPropertyPage.
  40.  */
  41. STDMETHODIMP CImpIPropertyPage::QueryInterface(REFIID riid
  42.     , LPVOID *ppv)
  43.     {
  44.     return m_pUnkOuter->QueryInterface(riid, ppv);
  45.     }
  46. STDMETHODIMP_(ULONG) CImpIPropertyPage::AddRef(void)
  47.     {
  48.     ++m_cRef;
  49.     return m_pUnkOuter->AddRef();
  50.     }
  51. STDMETHODIMP_(ULONG) CImpIPropertyPage::Release(void)
  52.     {
  53.     --m_cRef;
  54.     return m_pUnkOuter->Release();
  55.     }
  56. /*
  57.  * CImpIPropertyPage::SetPageSite
  58.  *
  59.  * Purpose:
  60.  *  Provides the property page with the IPropertyPageSite
  61.  *  that contains it.  SetPageSite(NULL) will be called as
  62.  *  part of the close sequence.
  63.  *
  64.  * Parameters:
  65.  *  pPageSite       LPPROPERTYPAGESITE pointer to the site.
  66.  */
  67. STDMETHODIMP CImpIPropertyPage::SetPageSite
  68.     (LPPROPERTYPAGESITE pPageSite)
  69.     {
  70.     return ResultFromScode(E_NOTIMPL);
  71.     }
  72. /*
  73.  * CImpIPropertyPage::Activate
  74.  *
  75.  * Purpose:
  76.  *  Instructs the property page to create a window in which to
  77.  *  display its contents, using the given parent window and
  78.  *  rectangle.  The window should be initially visible.
  79.  *
  80.  * Parameters:
  81.  *  hWndParent      HWND of the parent window.
  82.  *  prc             LPCRECT of the rectangle to use.
  83.  *  fModal          BOOL indicating whether the frame is modal.
  84.  */
  85. STDMETHODIMP CImpIPropertyPage::Activate(HWND hWndParent
  86.     , LPCRECT prc, BOOL fModal)
  87.     {
  88.     return ResultFromScode(E_NOTIMPL);
  89.     }
  90. /*
  91.  * CImpIPropertyPage::Deactivate
  92.  *
  93.  * Purpose:
  94.  *  Instructs the property page to destroy its window that was
  95.  *  created in Activate.
  96.  *
  97.  * Parameters:
  98.  *  None
  99.  */
  100. STDMETHODIMP CImpIPropertyPage::Deactivate(void)
  101.     {
  102.     return ResultFromScode(E_NOTIMPL);
  103.     }
  104. /*
  105.  * CImpIPropertyPage::GetPageInfo
  106.  *
  107.  * Purpose:
  108.  *  Fills a PROPPAGEINFO structure describing the page's size,
  109.  *  contents, and help information.
  110.  *
  111.  * Parameters:
  112.  *  pPageInfo       LPPROPPAGEINFO to the structure to fill.
  113.  */
  114. STDMETHODIMP CImpIPropertyPage::GetPageInfo(LPPROPPAGEINFO pPageInfo)
  115.     {
  116.     return ResultFromScode(E_NOTIMPL);
  117.     }
  118. /*
  119.  * CImpIPropertyPage::SetObjects
  120.  *
  121.  * Purpose:
  122.  *  Identifies the objects that are being affected by this property
  123.  *  page (and all other pages in the frame).  These are the object
  124.  *  to which to send new property values in the Apply member.
  125.  *
  126.  * Parameters:
  127.  *  cObjects        ULONG number of objects
  128.  *  ppUnk           IUnknown ** to the array of objects being
  129.  *                  passed to the page.
  130.  */
  131. STDMETHODIMP CImpIPropertyPage::SetObjects(ULONG cObjects
  132.     , IUnknown **ppunk)
  133.     {
  134.     return ResultFromScode(E_NOTIMPL);
  135.     }
  136. /*
  137.  * CImpIPropertyPage::Show
  138.  *
  139.  * Purpose:
  140.  *  Instructs the page to show or hide its window created in
  141.  *  Activate.
  142.  *
  143.  * Parameters:
  144.  *  nCmdShow        UINT to pass to ShowWindow.
  145.  */
  146. STDMETHODIMP CImpIPropertyPage::Show(UINT nCmdShow)
  147.     {
  148.     return ResultFromScode(E_NOTIMPL);
  149.     }
  150. /*
  151.  * CImpIPropertyPage::Move
  152.  *
  153.  * Purpose:
  154.  *  Instructs the property page to change its position.
  155.  *
  156.  * Parameters:
  157.  *  prc             LPCRECT containing the new position.
  158.  */
  159. STDMETHODIMP CImpIPropertyPage::Move(LPCRECT prc)
  160.     {
  161.     return ResultFromScode(E_NOTIMPL);
  162.     }
  163. /*
  164.  * CImpIPropertyPage::IsPageDirty
  165.  *
  166.  * Purpose:
  167.  *  Asks the page if anything's changed in it, that is, if the
  168.  *  property values in the page are out of sync with the objects
  169.  *  under consideration.
  170.  *
  171.  * Parameters:
  172.  *  None
  173.  *
  174.  * Return Value:
  175.  *  HRESULT         NOERROR if dirty, S_FALSE if not.
  176.  */
  177. STDMETHODIMP CImpIPropertyPage::IsPageDirty(void)
  178.     {
  179.     return ResultFromScode(E_NOTIMPL);
  180.     }
  181. /*
  182.  * CImpIPropertyPage::Apply
  183.  *
  184.  * Purpose:
  185.  *  Instructs the page to send changes in its page to whatever
  186.  *  objects it knows about through SetObjects.  This is the only
  187.  *  time the page should change the objects' properties, and not
  188.  *  when the value is changed on the page.
  189.  *
  190.  * Parameters:
  191.  *  None
  192.  */
  193. STDMETHODIMP CImpIPropertyPage::Apply(void)
  194.     {
  195.     return ResultFromScode(E_NOTIMPL);
  196.     }
  197. /*
  198.  * CImpIPropertyPage::Help
  199.  *
  200.  * Purpose:
  201.  *  Invokes help for this property page.
  202.  *
  203.  * Parameters:
  204.  *  pszHelpDir      LPCOLESTR identifying the default location of
  205.  *                  the help information
  206.  */
  207. STDMETHODIMP CImpIPropertyPage::Help(LPCOLESTR pszHelpDir)
  208.     {
  209.     return ResultFromScode(E_NOTIMPL);
  210.     }
  211. /*
  212.  * CImpIPropertyPage::TranslateAccelerator
  213.  *
  214.  * Purpose:
  215.  *  Provides the page with the messages that occur in the frame.
  216.  *  This gives the page to do whatever it wants with the message,
  217.  *  such as handle keyboard mnemonics.
  218.  *
  219.  * Parameters:
  220.  *  pMsg            LPMSG containing the message of the accelerator.
  221.  */
  222. STDMETHODIMP CImpIPropertyPage::TranslateAccelerator(LPMSG lpMsg)
  223.     {
  224.     return ResultFromScode(E_NOTIMPL);
  225.     }