CommandCtrl.h
上传用户:xaxinn
上传日期:2007-01-03
资源大小:39k
文件大小:4k
源码类别:

Oracle数据库

开发平台:

Visual C++

  1. #if !defined(AFX_COMMANDCTRL_H__2BF4ECE9_F408_11D2_A0D2_00105A27C570__INCLUDED_)
  2. #define AFX_COMMANDCTRL_H__2BF4ECE9_F408_11D2_A0D2_00105A27C570__INCLUDED_
  3. #if _MSC_VER > 1000
  4. #pragma once
  5. #endif // _MSC_VER > 1000
  6. // CommandCtrl.h : header file
  7. //
  8. // Release 1, Copyright (C) 1999 Ben Bryant
  9. // This is sample source code, nothing more is implied. Use it only as such.
  10. // This software is provided 'as-is', without warranty. In no event will the
  11. // author be held liable for any damages arising from the use of this software.
  12. // Permission is granted to anyone to use this software for any purpose.
  13. // The origin of this software must not be misrepresented; you must not claim
  14. // that you wrote the original software. Altered source versions must be plainly
  15. // marked as such, and must not be misrepresented as being the original software.
  16. // Ben Bryant bcbryant@firstobject.com
  17. //
  18. class CCommand;
  19. /////////////////////////////////////////////////////////////////////////////
  20. // CCommand class
  21. class CCommand
  22. {
  23. // Construction
  24. public:
  25. CCommand();
  26. virtual ~CCommand();
  27. friend class CCmdOutCtrl;
  28. friend class CCmdInCtrl;
  29. void Init( CWnd* pWnd, CCmdOutCtrl* pOut, CCmdInCtrl* pIn, CButton *pDo );
  30. // Attributes
  31. public:
  32. // Operations
  33. public:
  34. void MoveControls( CRect& rectBorder );
  35. void ParseCommandLine( LPCTSTR szCommand, const char* szaCommandDefns[] );
  36. CString GetCommand() { return m_parsedcommand.csCommand; };
  37. CString GetService() { return m_parsedcommand.csService; };
  38. CString GetCommandLine() { return m_csProcessedCommandLine; };
  39. CStringArray* GetArgs() { return &m_csaArgs; };
  40. CString GetSyntaxError() { return m_csSyntaxError; };
  41. static CString CCommand::GetTimeDate();
  42. // Implementation
  43. protected:
  44. CString m_csProcessedCommandLine;
  45. CStringArray m_csaArgs;
  46. CString m_csSyntaxError;
  47. struct ParsedCommand
  48. {
  49. CString csService;
  50. CString csCommand;
  51. CString csArgDefns;
  52. CString csDescription;
  53. };
  54. ParsedCommand m_parsedcommand;
  55. static void ParseCommandDefn( CString csDefn, ParsedCommand* pCmd );
  56. void Resize();
  57. CWnd* m_pWnd;
  58. CCmdOutCtrl* m_pOut;
  59. CCmdInCtrl* m_pIn;
  60. CButton * m_pDo;
  61. };
  62. /////////////////////////////////////////////////////////////////////////////
  63. // CCmdOutCtrl window
  64. class CCmdOutCtrl : public CRichEditCtrl
  65. {
  66. // Construction
  67. public:
  68. CCmdOutCtrl();
  69. void Set( CCommand* pCmd ) { m_pCmd = pCmd; };
  70. void SetFontFace( CString csFaceName = "" );
  71. // Effects
  72. enum EffectType
  73. {
  74. Normal = 0,
  75. Large = 1,
  76. Bold = 2,
  77. Underline = 4,
  78. Italic = 8,
  79. Small = 16,
  80. };
  81. // Operations
  82. void Output( CString csOut, int nEffect=0, CString* pcsRolledOver=NULL );
  83. void OutputHelp( CString csCommand, const char* szaCommandDefns[] );
  84. void OutputTimeDate() { Output( m_pCmd->GetTimeDate() ); };
  85. // Overrides
  86. // ClassWizard generated virtual function overrides
  87. //{{AFX_VIRTUAL(CCmdOutCtrl)
  88. //}}AFX_VIRTUAL
  89. // Implementation
  90. public:
  91. virtual ~CCmdOutCtrl();
  92. protected:
  93. CCommand* m_pCmd;
  94. BOOL m_bEraseBackground;
  95. CString m_csFaceName;
  96. // Generated message map functions
  97. protected:
  98. afx_msg void OnRunSelection();
  99. afx_msg void OnCopyToCmdEntry();
  100. afx_msg void OnCopySelection();
  101. //{{AFX_MSG(CCmdOutCtrl)
  102. afx_msg void OnSysColorChange();
  103. afx_msg BOOL OnEraseBkgnd(CDC* pDC);
  104. afx_msg void OnRButtonDown(UINT nFlags, CPoint point);
  105. //}}AFX_MSG
  106. DECLARE_MESSAGE_MAP()
  107. };
  108. /////////////////////////////////////////////////////////////////////////////
  109. // CCmdInCtrl window
  110. class CCmdInCtrl : public CEdit
  111. {
  112. // Construction
  113. public:
  114. CCmdInCtrl();
  115. void Set( CCommand* pCmd ) { m_pCmd = pCmd; };
  116. // Attributes
  117. public:
  118. void CheckLines();
  119. // Operations
  120. public:
  121. void SetCommandText( CString csCommand ) { SetWindowText(csCommand); CheckLines(); };
  122. // Overrides
  123. // ClassWizard generated virtual function overrides
  124. //{{AFX_VIRTUAL(CCmdInCtrl)
  125. //}}AFX_VIRTUAL
  126. // Implementation
  127. public:
  128. virtual ~CCmdInCtrl();
  129. protected:
  130. int m_nLines;
  131. CCommand* m_pCmd;
  132. // Generated message map functions
  133. protected:
  134. //{{AFX_MSG(CCmdInCtrl)
  135. afx_msg void OnChange();
  136. //}}AFX_MSG
  137. DECLARE_MESSAGE_MAP()
  138. };
  139. /////////////////////////////////////////////////////////////////////////////
  140. //{{AFX_INSERT_LOCATION}}
  141. // Microsoft Visual C++ will insert additional declarations immediately before the previous line.
  142. #endif // !defined(AFX_COMMANDCTRL_H__2BF4ECE9_F408_11D2_A0D2_00105A27C570__INCLUDED_)