DlgInput.h
上传用户:bingyunhe
上传日期:2013-07-06
资源大小:723k
文件大小:6k
源码类别:

词法分析

开发平台:

Visual C++

  1. /*! @file   DlgInput.h    brief  文件功能: 输入窗体的头文件                          <br>                                      <br>  文件名称:   DlgInput.h            <br>  模块名  :                    <br>  author   zqp        version   1.0.0    remark                   <br>  修改记录 :  <br>   日 期 &nbsp;&nbsp;&nbsp;&nbsp;版本&nbsp;&nbsp;&nbsp;&nbsp;修改人&nbsp;&nbsp;&nbsp;&nbsp;修改内容<br> 2005/06/13   &nbsp; 1.0.0  &nbsp;  <zou> &nbsp;  创建  <br> ******************************************************************************** <br> 版权:浙江昆仑科技有限公司      保留所有权利  *******************************************************************************/ /////// comment generated by CommentMakerPro from www.FeinSoftware.com //////// #pragma once
  2. // CDlgInput 对话框
  3. #include "InputerInputer.h"
  4. #include "afxwin.h"
  5. #include "ThreadInfor.h"
  6. using namespace Chinese;
  7. //声明按钮消息结构
  8. /*! @class  CDlgInput ******************************************************************************** brief   功能     : 实现无真实键盘情况下的各种输入    <br> 类名称   :    CDlgInput   exception    author  zqp date     2005-6-16 remark    <br> 典型用法 :  Domodel 这个窗体,然后可以输入     ******************************************************************************/ /////// comment generated by CommentMakerPro from www.FeinSoftware.com //////// class CDlgInput : public CDialog
  9. {
  10. DECLARE_DYNAMIC(CDlgInput)
  11. public:
  12. CDlgInput(CWnd* pParent = NULL);   // 标准构造函数
  13. virtual ~CDlgInput(  );
  14. ChineseInputer::Inputer  m_Inputer ;
  15. //ChineseDictionary  m_Dic ;
  16. ChineseInputer   m_ChineseInputer ; 
  17. ChineseInputer::WordEnumerator  enumer ; //!字的枚举器   
  18.  
  19.    //!处理线程需地的成员变量
  20.     ThreadInfor m_ThreadInfor ; //线程信息 
  21. CWinThread * m_pWinThread  ;//线程对象指针
  22. BOOL m_bKillThread  ;    //是否杀死线程的标志
  23. BOOL m_bLock ; //锁的标志
  24.     BtnMsg  m_BtnMsg  ; //按钮消息的枚举器对象 
  25. ChineseInputer::WordEnumerator::iterator  m_it ; //循环算子 
  26. const static int m_nPageSize=10 ; //页大小 
  27.     UINT  m_nPageCount  ; //页数
  28. UINT  m_nCurrPage ;  //当前页码  
  29. /*!输入模式
  30. 0 :拼音输入模式
  31. 1 :部首输入模式
  32. 2 :笔画输入模式
  33. 3 :笔顺输入模式
  34. 4 :数字输入模式
  35. 5 :字符输入模式
  36. */
  37. UINT m_nMode ; 
  38. enum
  39. {
  40. //!拼音模式
  41. Spell_Mode = 0, 
  42. //!部首模式 
  43. BS_Mode,
  44. //!笔画模式
  45. Strokes_Mode,
  46. //!输入笔顺
  47. StrokesOrder_Mode ,
  48. //!数字模式
  49. Number_Mode ,
  50. //!字符模式
  51. Char_Mode 
  52. };  
  53.     
  54. enum{
  55. //!大写
  56.        CharUpper = 0 ,
  57.    //!字母小写
  58.    CharLower 
  59. } ;
  60.   
  61. int m_nUpperOrLower ; //!字母大小写
  62.     CString m_strOrderFilter ; //!笔顺的过滤字符串 
  63.  
  64. int m_nPreBtnNo ; //! 前一次点击按钮的顺号
  65. CFileTime   m_tPreTime ; //!前一次点击按钮的时间
  66. int  m_nTimeGap ; //!连续击键的时间间隔
  67.     int m_nCount ;//!光标前的字符个数
  68.      const static  int m_nInputMaxLen = 30 ;  //!输入框的最大字符数
  69.  const static int m_nCharMaxLen=20  ;//!输入字符串的最大长度 
  70.   
  71.  TCHAR m_aSymbol[18]  ; //!特殊字符 
  72.  const static int m_nSymbolCount = 18 ;
  73.    //方法
  74. void BtnClick(int nBtnNo ) ;//!按钮调用的公用函数 
  75. void BtnClickEx(int nBtnNo ,int nNumber ) ; //!按钮的扩展函数
  76. void InputChar( int nBtnNO )  ; //!输入字符串 
  77. void InputNumber( int nBtnNO )  ; //!输入数字 
  78. void InputSymbol(  ) ; //!输入符号
  79. void DeleteChar(  ) ; //!删除一个字符 
  80.    
  81. int NearDev(int DevNum ,int DevedNum ) ; //!最接近的除法 
  82. BOOL IsExceedLimit( int nInputLen ) ; //!判断是否超出了最大限制 
  83. void MakeSymbol( ) ;//!生成特殊符号
  84. void SymbolHome( ) ;//!首页
  85. void SymbolEnd( ) ; //!末页
  86. void SymbolUpPage( ) ; //!上一页
  87. void SymbolDownPage( ) ;//! 下一页  
  88. void RadioFunc(int nInputMode) ; //!一组Radio按钮的处理功能
  89. void InputSpell( int nBtnNO  ) ; //输入拼音字母
  90. BOOL SpellQuery(  ) ; //根据输入的拼音字母查询汉字
  91.  
  92.  
  93. //! 对话框数据
  94. enum { IDD = IDD_DLGINPUT };
  95. protected:
  96. virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV 支持
  97. DECLARE_MESSAGE_MAP( )
  98. public:
  99. CString m_strChar;
  100. CListBox m_lsList; 
  101. // afx_msg void OnKeyUp(UINT nChar, UINT nRepCnt, UINT nFlags);
  102. // afx_msg void OnSysKeyUp(UINT nChar, UINT nRepCnt, UINT nFlags);
  103. // afx_msg void OnChar(UINT nChar, UINT nRepCnt, UINT nFlags);
  104. // afx_msg void OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags);
  105. virtual BOOL PreTranslateMessage(MSG* pMsg);
  106. afx_msg void OnBnClickedBtnabc( ); 
  107.     
  108. CString m_strtest ;
  109. afx_msg void OnLbnDblclkList();
  110. // afx_msg void OnLbnSelchangeList();
  111. virtual BOOL OnInitDialog();
  112. afx_msg void OnBnClickedBtn1();
  113. afx_msg void OnBnClickedBtn2();
  114. afx_msg void OnBnClickedBtn3();
  115. afx_msg void OnBnClickedBtn4();
  116. afx_msg void OnBnClickedBtn5();
  117. afx_msg void OnBnClickedBtn6();
  118. afx_msg void OnBnClickedBtn7();
  119. afx_msg void OnBnClickedBtn8();
  120. afx_msg void OnBnClickedBtn9();
  121. CButton m_btnHome;
  122. CButton m_btnB1;
  123. CButton m_btnUpPage;
  124. CButton m_btnDownPage;
  125. CButton m_btnEnd;
  126. CButton m_btnBack ;
  127. afx_msg void OnBnClickedBtnhome();
  128. afx_msg void OnBnClickedBtndowngage();
  129. afx_msg void OnBnClickedBtnend();
  130. afx_msg void OnBnClickedBtnupgage();
  131. //Radio 按钮组
  132. afx_msg void OnBnClickedRadspell( );
  133. BOOL m_bSpell;
  134. BOOL m_bNum;
  135. BOOL m_bChar; 
  136. BOOL m_bStrokeOrder;
  137.     //!大小写Radio 按钮组
  138. BOOL m_bUpper ;
  139. BOOL m_bLower ;
  140. afx_msg void OnBnClickedRadnum( );
  141. afx_msg void OnBnClickedRadchar( );
  142. afx_msg void OnBnClickedRadbs();
  143. afx_msg void OnBnClickedRadstroke();
  144. afx_msg void OnBnClickedRadstrokeorder();
  145. CString m_strInput;
  146. CEdit m_edtIn;
  147. afx_msg void OnBnClickedBtn10();
  148. afx_msg void OnBnClickedBtnback();
  149. afx_msg void OnBnClickedBtnleft();
  150. afx_msg void OnBnClickedBtnright();
  151. afx_msg void OnEnSetfocusEdtin();
  152. afx_msg void OnEnKillfocusEdtin();
  153. afx_msg void OnLbnSelchangeList();
  154. afx_msg void OnEnMaxtextEdtin();
  155. afx_msg void OnBnClickedBtn11();
  156. afx_msg void OnBnClickedRadupper();
  157. afx_msg void OnBnClickedRadlower();
  158. afx_msg void OnBnClickedBtnok();
  159. };