XPropertiesWnd.h
上传用户:yangzi5763
上传日期:2007-01-02
资源大小:239k
文件大小:3k
源码类别:

ActiveX/DCOM/ATL

开发平台:

Visual C++

  1. /************************************
  2.   REVISION LOG ENTRY
  3.   Revision By: Mihai Filimon
  4.   Revised on 10/13/98 2:28:07 PM
  5.   Comments: XPropertiesWnd.h : main header file for XPROPERTIESWND.DLL
  6.  ************************************/
  7. #if !defined(AFX_XPROPERTIESWND_H__7B914A61_6271_11D2_86B8_0040055C08D9__INCLUDED_)
  8. #define AFX_XPROPERTIESWND_H__7B914A61_6271_11D2_86B8_0040055C08D9__INCLUDED_
  9. #if _MSC_VER >= 1000
  10. #pragma once
  11. #endif // _MSC_VER >= 1000
  12. #if !defined( __AFXCTL_H__ )
  13. #error include 'afxctl.h' before including this file
  14. #endif
  15. #include "resource.h"       // main symbols
  16. #include <atlconv.h>
  17. #include <afxconv.h>
  18. #include "adorrecset.h"
  19. /////////////////////////////////////////////////////////////////////////////
  20. // CXPropertiesWndApp : See XPropertiesWnd.cpp for implementation.
  21. extern const GUID CDECL _tlid;
  22. extern const WORD _wVerMajor;
  23. extern const WORD _wVerMinor;
  24. extern const UINT _nIDFirstListView;
  25. extern const TCHAR _cPagesSeparator;
  26. class CXPropertiesWndApp : public COleControlModule
  27. {
  28. public:
  29. BOOL InitInstance();
  30. int ExitInstance();
  31. };
  32. extern CString GetValue(CADORField* pField);
  33. // Function name : AtlA2WHelper
  34. // Description     : Link error
  35. // Return type : LPWSTR WINAPI 
  36. // Argument         : LPWSTR lpw
  37. // Argument         : LPCSTR lpa
  38. // Argument         : int nChars
  39. LPWSTR WINAPI AtlA2WHelper(LPWSTR lpw, LPCSTR lpa, int nChars) ;
  40. template <class classType> void DDP_DEFINE( COlePropertyPage* pPage, BOOL bSave, classType* pValue, LPCTSTR lpszPropertyName, VARTYPE vType )
  41. {
  42. USES_CONVERSION;
  43. ULONG nObjects = NULL;
  44. LPDISPATCH* pDispatch = pPage->GetObjectArray(&nObjects);
  45. COleDispatchDriver propDispatch;
  46. for (int i = 0; i < (int)nObjects; i++)
  47. {
  48. LPCOLESTR lpOleStr = T2COLE(lpszPropertyName);
  49. DISPID dwDispID = NULL;
  50. if (SUCCEEDED(pDispatch[i]->GetIDsOfNames(IID_NULL, (LPOLESTR*)&lpOleStr, 1, 0, &dwDispID)))
  51. {
  52. propDispatch.AttachDispatch(pDispatch[i]);
  53. if (bSave)
  54. {
  55. classType nTemp = *pValue;
  56. propDispatch.SetProperty(dwDispID, vType, nTemp);
  57. }
  58. else
  59. {
  60. classType nTemp;
  61. propDispatch.GetProperty(dwDispID, vType, &nTemp);
  62. *pValue = nTemp;
  63. }
  64. propDispatch.DetachDispatch();
  65. }
  66. }
  67. };
  68. extern CBitmap* Preview(CWnd * pWnd, COLORREF colorBkGnd);
  69. //{{AFX_INSERT_LOCATION}}
  70. // Microsoft Developer Studio will insert additional declarations immediately before the previous line.
  71. #endif // !defined(AFX_XPROPERTIESWND_H__7B914A61_6271_11D2_86B8_0040055C08D9__INCLUDED)