SpecialFx.cpp 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119
  1. // SpecialFx.cpp : 定义应用程序的类行为。
  2. //
  3. #include "stdafx.h"
  4. #include "SpecialFx.h"
  5. #include "SpecialFxDlg.h"
  6. #include ".\specialfx.h"
  7. #ifdef _DEBUG
  8. #define new DEBUG_NEW
  9. #endif
  10. // CSpecialFxApp
  11. BEGIN_MESSAGE_MAP(CSpecialFxApp, CWinApp)
  12. ON_COMMAND(ID_HELP, CWinApp::OnHelp)
  13. END_MESSAGE_MAP()
  14. // CSpecialFxApp 构造
  15. CSpecialFxApp::CSpecialFxApp()
  16. {
  17. // TODO: 在此处添加构造代码,
  18. // 将所有重要的初始化放置在 InitInstance 中
  19. //_CrtDumpMemoryLeaks();
  20. // _CrtSetBreakAlloc(88);
  21. //_CrtSetBreakAlloc(77);
  22. //_CrtSetBreakAlloc(78);
  23. //_CrtSetBreakAlloc(60);
  24. }
  25. // 唯一的一个 CSpecialFxApp 对象
  26. CSpecialFxApp theApp;
  27. // CSpecialFxApp 初始化
  28. BOOL CSpecialFxApp::InitInstance()
  29. {
  30. /************************************************************************/
  31. CString strPath;
  32. TCHAR szFull[_MAX_PATH];
  33. TCHAR szDrive[_MAX_DRIVE];
  34. TCHAR szDir[_MAX_DIR];
  35. ::GetModuleFileName(NULL, szFull, sizeof(szFull)/sizeof(TCHAR));
  36. _tsplitpath(szFull, szDrive, szDir, NULL, NULL);
  37. _tcscpy(szFull, szDrive);
  38. _tcscat(szFull, szDir);
  39. strPath = CString(szFull);
  40. #if 0 // 是否使用默认
  41. LOG4C_INIT_DEFAULT();
  42. #else
  43. char szFileName[MAX_PATH];
  44. sprintf(szFileName, "%s\\log.txt", strPath);
  45. ///设置日志配置文件名
  46. LOG4C_PARAM_CFG_FILE_NAME(szFileName);
  47. ///设置日志级别
  48. LOG4C_PARAM_LOG_LEVEL("unknown");
  49. ///设置日志文件大小
  50. LOG4C_PARAM_LOG_FILE_SIZE(102400);
  51. ///设置生成日志文件个数,达到最大个数将自动覆盖最旧的日志
  52. LOG4C_PARAM_LOG_FILE_NUM(3);
  53. ///设置每次记录日志都重新读取日志配置文件
  54. LOG4C_PARAM_REREAD_LOG_CFG_FILE(1);
  55. ///带参数日志模块初始化,以上所有设置了的参数都将生效,没有设置的采用缺省值
  56. LOG4C_INIT_WITH_PARAM();
  57. #endif
  58. /************************************************************************/
  59. // 如果一个运行在 Windows XP 上的应用程序清单指定要
  60. // 使用 ComCtl32.dll 版本 6 或更高版本来启用可视化方式,
  61. //则需要 InitCommonControls()。否则,将无法创建窗口。
  62. InitCommonControls();
  63. CWinApp::InitInstance();
  64. AfxEnableControlContainer();
  65. // 标准初始化
  66. // 如果未使用这些功能并希望减小
  67. // 最终可执行文件的大小,则应移除下列
  68. // 不需要的特定初始化例程
  69. // 更改用于存储设置的注册表项
  70. // TODO: 应适当修改该字符串,
  71. // 例如修改为公司或组织名
  72. SetRegistryKey(_T("应用程序向导生成的本地应用程序"));
  73. CSpecialFxDlg dlg;
  74. m_pMainWnd = &dlg;
  75. INT_PTR nResponse = dlg.DoModal();
  76. if (nResponse == IDOK)
  77. {
  78. // TODO: 在此放置处理何时用“确定”来关闭
  79. //对话框的代码
  80. }
  81. else if (nResponse == IDCANCEL)
  82. {
  83. // TODO: 在此放置处理何时用“取消”来关闭
  84. //对话框的代码
  85. }
  86. // 由于对话框已关闭,所以将返回 FALSE 以便退出应用程序,
  87. // 而不是启动应用程序的消息泵。
  88. return FALSE;
  89. }
  90. int CSpecialFxApp::ExitInstance()
  91. {
  92. // TODO: 在此添加专用代码和/或调用基类
  93. LOG4C_FINI();
  94. return CWinApp::ExitInstance();
  95. }