WinFinderCtl.h
上传用户:lwzh1970
上传日期:2007-01-01
资源大小:33k
文件大小:2k
源码类别:

对话框与窗口

开发平台:

Visual C++

  1. // WinFinderCtl.h : Declaration of the CWinFinderCtrl OLE control class.
  2. /////////////////////////////////////////////////////////////////////////////
  3. // CWinFinderCtrl : See WinFinderCtl.cpp for implementation.
  4. typedef int (*WINFINDERCALLBACK)(HWND);
  5. class CWinFinderCtrl : public COleControl
  6. {
  7. DECLARE_DYNCREATE(CWinFinderCtrl)
  8. // Constructor
  9. public: CWinFinderCtrl();
  10. int (*m_pfnWindowSelectedCallback)(HWND);
  11. // Overrides
  12. // Drawing function
  13. virtual void OnDraw(
  14. CDC* pdc, const CRect& rcBounds, const CRect& rcInvalid);
  15. // Persistence
  16. virtual void DoPropExchange(CPropExchange* pPX);
  17. // Reset control state
  18. virtual void OnResetState();
  19. // Implementation
  20. protected:
  21. ~CWinFinderCtrl();
  22. BEGIN_OLEFACTORY(CWinFinderCtrl)        // Class factory and guid
  23. virtual BOOL VerifyUserLicense();
  24. virtual BOOL GetLicenseKey(DWORD, BSTR FAR*);
  25. END_OLEFACTORY(CWinFinderCtrl)
  26. DECLARE_OLETYPELIB(CWinFinderCtrl)      // GetTypeInfo
  27. DECLARE_PROPPAGEIDS(CWinFinderCtrl)     // Property page IDs
  28. DECLARE_OLECTLTYPE(CWinFinderCtrl) // Type name and misc status
  29. // Message maps
  30. //{{AFX_MSG(CWinFinderCtrl)
  31. afx_msg void OnLButtonDown(UINT nFlags, CPoint point);
  32. afx_msg void OnLButtonUp(UINT nFlags, CPoint point);
  33. afx_msg void OnMouseMove(UINT nFlags, CPoint point);
  34. afx_msg LRESULT OnSetWFCallback(WPARAM wParam, LPARAM lParam);
  35. //}}AFX_MSG
  36. DECLARE_MESSAGE_MAP()
  37. // Dispatch maps
  38. //{{AFX_DISPATCH(CWinFinderCtrl)
  39. BOOL m_bDragging;
  40. afx_msg void OnDraggingChanged();
  41. long m_targetWindow;
  42. afx_msg void OnTargetWindowChanged();
  43. afx_msg OLE_HANDLE GetHwnd();
  44. afx_msg void SetHwnd(OLE_HANDLE nNewValue);
  45. //}}AFX_DISPATCH
  46. DECLARE_DISPATCH_MAP()
  47. afx_msg void AboutBox();
  48. // Event maps
  49. //{{AFX_EVENT(CWinFinderCtrl)
  50. //}}AFX_EVENT
  51. DECLARE_EVENT_MAP()
  52. // Dispatch and event IDs
  53. public:
  54. enum {
  55. //{{AFX_DISP_ID(CWinFinderCtrl)
  56. dispidDragging = 1L,
  57. dispidTargetWindow = 2L,
  58. dispidSetCallback = 3L,
  59. //}}AFX_DISP_ID
  60. };
  61. };