QListCtrl.h
上传用户:cnjubao
上传日期:2007-01-02
资源大小:34k
文件大小:2k
源码类别:

ListView/ListBox

开发平台:

Visual C++

  1. /************************************
  2.   REVISION LOG ENTRY
  3.   Revision By: Mihai Filimon
  4.   Revised on 11/2/98 8:34:15 PM
  5.   Comments: QListCtrl.h : main header file for QLISTCTRL.DLL
  6.  ************************************/
  7. #if !defined(AFX_QLISTCTRL_H__BFCC1BCC_7257_11D2_86E6_0040055C08D9__INCLUDED_)
  8. #define AFX_QLISTCTRL_H__BFCC1BCC_7257_11D2_86E6_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. /////////////////////////////////////////////////////////////////////////////
  17. // CQListCtrlApp : See QListCtrl.cpp for implementation.
  18. class CQListCtrlApp : public COleControlModule
  19. {
  20. public:
  21. BOOL InitInstance();
  22. int ExitInstance();
  23. };
  24. extern const GUID CDECL _tlid;
  25. extern const WORD _wVerMajor;
  26. extern const WORD _wVerMinor;
  27. extern const TCHAR _separatorColumnHeader;
  28. extern const TCHAR _separatorHeader;
  29. #include <atlconv.h>
  30. #include <afxconv.h>
  31. LPWSTR WINAPI AtlA2WHelper(LPWSTR lpw, LPCSTR lpa, int nChars);
  32. template <class classType> void DDP_DEFINE( COlePropertyPage* pPage, BOOL bSave, classType* pValue, LPCTSTR lpszPropertyName, VARTYPE vType )
  33. {
  34. USES_CONVERSION;
  35. ULONG nObjects = NULL;
  36. LPDISPATCH* pDispatch = pPage->GetObjectArray(&nObjects);
  37. COleDispatchDriver propDispatch;
  38. for (int i = 0; i < (int)nObjects; i++)
  39. {
  40. LPCOLESTR lpOleStr = T2COLE(lpszPropertyName);
  41. DISPID dwDispID = NULL;
  42. if (SUCCEEDED(pDispatch[i]->GetIDsOfNames(IID_NULL, (LPOLESTR*)&lpOleStr, 1, 0, &dwDispID)))
  43. {
  44. propDispatch.AttachDispatch(pDispatch[i]);
  45. if (bSave)
  46. {
  47. classType nTemp = *pValue;
  48. propDispatch.SetProperty(dwDispID, vType, nTemp);
  49. }
  50. else
  51. {
  52. classType nTemp;
  53. propDispatch.GetProperty(dwDispID, vType, &nTemp);
  54. *pValue = nTemp;
  55. }
  56. propDispatch.DetachDispatch();
  57. }
  58. }
  59. };
  60. //{{AFX_INSERT_LOCATION}}
  61. // Microsoft Developer Studio will insert additional declarations immediately before the previous line.
  62. #endif // !defined(AFX_QLISTCTRL_H__BFCC1BCC_7257_11D2_86E6_0040055C08D9__INCLUDED)