InPlaceEdit.h
上传用户:htjk88
上传日期:2010-03-27
资源大小:29k
文件大小:3k
源码类别:

ListView/ListBox

开发平台:

Visual C++

  1. /*******************************************************************************
  2. Author : Aravindan Premkumar
  3. Unregistered Copyright 2003 : Aravindan Premkumar
  4. All Rights Reserved
  5. This piece of code does not have any registered copyright and is free to be 
  6. used as necessary. The user is free to modify as per the requirements. As a
  7. fellow developer, all that I expect and request for is to be given the 
  8. credit for intially developing this reusable code by not removing my name as 
  9. the author.
  10. *******************************************************************************/
  11. #if !defined(AFX_INPLACEEDIT_H__175AEDFF_731E_4721_8399_DE406A465861__INCLUDED_)
  12. #define AFX_INPLACEEDIT_H__175AEDFF_731E_4721_8399_DE406A465861__INCLUDED_
  13. #if _MSC_VER > 1000
  14. #pragma once
  15. #endif // _MSC_VER > 1000
  16. class CInPlaceEdit : public CEdit
  17. {
  18. public:
  19. // Implementation
  20. // Returns the instance of the class
  21. static CInPlaceEdit* GetInstance(); 
  22. // Deletes the instance of the class
  23. static void DeleteInstance(); 
  24. // Creates the Windows edit control and attaches it to the object
  25. // Shows the edit ctrl
  26. BOOL ShowEditCtrl(DWORD dwStyle, const RECT& rCellRect, CWnd* pParentWnd, 
  27.   UINT uiResourceID, int iRowIndex, int iColumnIndex,
  28.   CString& strValidChars, CString& rstrCurSelection);
  29. // Overrides
  30. // ClassWizard generated virtual function overrides
  31. //{{AFX_VIRTUAL(CInPlaceEdit)
  32. public:
  33. virtual BOOL PreTranslateMessage(MSG* pMsg);
  34. //}}AFX_VIRTUAL
  35. // Attributes
  36. // afx_msg void OnPaste(WPARAM wParam, LPARAM lParam);
  37. protected:
  38. // Generated message map functions
  39. //{{AFX_MSG(CInPlaceEdit)
  40. afx_msg void OnKillFocus(CWnd* pNewWnd);
  41. afx_msg void OnChar(UINT nChar, UINT nRepCnt, UINT nFlags);
  42. afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
  43. //}}AFX_MSG
  44. DECLARE_MESSAGE_MAP()
  45. private:
  46. // Implementation
  47. // Constructor
  48. CInPlaceEdit();
  49. // Hide the copy constructor and operator =
  50. CInPlaceEdit (CInPlaceEdit&) {}
  51. operator = (CInPlaceEdit) {}
  52. // Destructor
  53. virtual ~CInPlaceEdit();
  54. // Attributes
  55. // Index of the item in the list control
  56. int m_iRowIndex;
  57. // Index of the subitem in the list control
  58. int m_iColumnIndex;
  59. // To indicate whether ESC key was pressed
  60. BOOL m_bESC;
  61. // Valid characters
  62. CString m_strValidChars;
  63. // Singleton instance
  64. static CInPlaceEdit* m_pInPlaceEdit;
  65. // Previous string value in the edit control
  66. CString m_strWindowText;
  67. };
  68. /////////////////////////////////////////////////////////////////////////////
  69. //{{AFX_INSERT_LOCATION}}
  70. // Microsoft Visual C++ will insert additional declarations immediately before the previous line.
  71. #endif // !defined(AFX_INPLACEEDIT_H__175AEDFF_731E_4721_8399_DE406A465861__INCLUDED_)