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

ListView/ListBox

开发平台:

Visual C++

  1.  /************************************
  2.   REVISION LOG ENTRY
  3.   Revision By: Mihai Filimon
  4.   Revised on 11/2/98 6:35:14 PM
  5.   Comments: QListCtrl.cpp : Implementation of CQListCtrlApp and DLL registration.
  6.  ************************************/
  7. #include "stdafx.h"
  8. #include "QListCtrl.h"
  9. #include "TLabelEdit.h"
  10. #ifdef _DEBUG
  11. #define new DEBUG_NEW
  12. #undef THIS_FILE
  13. static char THIS_FILE[] = __FILE__;
  14. #endif
  15. CQListCtrlApp NEAR theApp;
  16. const GUID CDECL BASED_CODE _tlid =
  17. { 0xbfcc1bc3, 0x7257, 0x11d2, { 0x86, 0xe6, 0, 0x40, 0x5, 0x5c, 0x8, 0xd9 } };
  18. const WORD _wVerMajor = 1;
  19. const WORD _wVerMinor = 0;
  20. const TCHAR _separatorColumnHeader = TCHAR('|');
  21. const TCHAR _separatorHeader = TCHAR(':');
  22. ////////////////////////////////////////////////////////////////////////////
  23. // CQListCtrlApp::InitInstance - DLL initialization
  24. // Function name : CQListCtrlApp::InitInstance
  25. // Description     : 
  26. // Return type : BOOL 
  27. BOOL CQListCtrlApp::InitInstance()
  28. {
  29. BOOL bInit = COleControlModule::InitInstance();
  30. if (bInit)
  31. {
  32. CTLabelEdit::RegClassLabelEdit();
  33. AfxEnableControlContainer();
  34. }
  35. return bInit;
  36. }
  37. ////////////////////////////////////////////////////////////////////////////
  38. // CQListCtrlApp::ExitInstance - DLL termination
  39. // Function name : CQListCtrlApp::ExitInstance
  40. // Description     : 
  41. // Return type : int 
  42. int CQListCtrlApp::ExitInstance()
  43. {
  44. // TODO: Add your own module termination code here.
  45. return COleControlModule::ExitInstance();
  46. }
  47. /////////////////////////////////////////////////////////////////////////////
  48. // DllRegisterServer - Adds entries to the system registry
  49. STDAPI DllRegisterServer(void)
  50. {
  51. AFX_MANAGE_STATE(_afxModuleAddrThis);
  52. if (!AfxOleRegisterTypeLib(AfxGetInstanceHandle(), _tlid))
  53. return ResultFromScode(SELFREG_E_TYPELIB);
  54. if (!COleObjectFactoryEx::UpdateRegistryAll(TRUE))
  55. return ResultFromScode(SELFREG_E_CLASS);
  56. return NOERROR;
  57. }
  58. /////////////////////////////////////////////////////////////////////////////
  59. // DllUnregisterServer - Removes entries from the system registry
  60. STDAPI DllUnregisterServer(void)
  61. {
  62. AFX_MANAGE_STATE(_afxModuleAddrThis);
  63. if (!AfxOleUnregisterTypeLib(_tlid, _wVerMajor, _wVerMinor))
  64. return ResultFromScode(SELFREG_E_TYPELIB);
  65. if (!COleObjectFactoryEx::UpdateRegistryAll(FALSE))
  66. return ResultFromScode(SELFREG_E_CLASS);
  67. return NOERROR;
  68. }
  69. LPWSTR WINAPI AtlA2WHelper(LPWSTR lpw, LPCSTR lpa, int nChars)
  70. _ASSERTE(lpa != NULL); 
  71. _ASSERTE(lpw != NULL); 
  72. // verify that no illegal character present 
  73. // since lpw was allocated based on the size of lpa 
  74. // don't worry about the number of chars 
  75. lpw[0] = ''; 
  76. MultiByteToWideChar(CP_ACP, 0, lpa, -1, lpw, nChars); 
  77. return lpw; 
  78. };