DlgInput.h
上传用户:bingyunhe
上传日期:2013-07-06
资源大小:723k
文件大小:6k
-
/*! @file DlgInput.h
brief
文件功能: 输入窗体的头文件 <br>
<br>
文件名称: DlgInput.h <br>
模块名 : <br>
author zqp
version 1.0.0
remark <br>
修改记录 : <br>
日 期 版本 修改人 修改内容<br>
2005/06/13 1.0.0 <zou> 创建 <br>
******************************************************************************** <br>
版权:浙江昆仑科技有限公司 保留所有权利
*******************************************************************************/
/////// comment generated by CommentMakerPro from www.FeinSoftware.com ////////
#pragma once
- // CDlgInput 对话框
- #include "InputerInputer.h"
- #include "afxwin.h"
- #include "ThreadInfor.h"
- using namespace Chinese;
- //声明按钮消息结构
- /*! @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
- {
- DECLARE_DYNAMIC(CDlgInput)
- public:
- CDlgInput(CWnd* pParent = NULL); // 标准构造函数
- virtual ~CDlgInput( );
- ChineseInputer::Inputer m_Inputer ;
- //ChineseDictionary m_Dic ;
- ChineseInputer m_ChineseInputer ;
- ChineseInputer::WordEnumerator enumer ; //!字的枚举器
-
- //!处理线程需地的成员变量
- ThreadInfor m_ThreadInfor ; //线程信息
- CWinThread * m_pWinThread ;//线程对象指针
- BOOL m_bKillThread ; //是否杀死线程的标志
- BOOL m_bLock ; //锁的标志
- BtnMsg m_BtnMsg ; //按钮消息的枚举器对象
- ChineseInputer::WordEnumerator::iterator m_it ; //循环算子
- const static int m_nPageSize=10 ; //页大小
- UINT m_nPageCount ; //页数
- UINT m_nCurrPage ; //当前页码
- /*!输入模式
- 0 :拼音输入模式
- 1 :部首输入模式
- 2 :笔画输入模式
- 3 :笔顺输入模式
- 4 :数字输入模式
- 5 :字符输入模式
- */
- UINT m_nMode ;
- enum
- {
- //!拼音模式
- Spell_Mode = 0,
- //!部首模式
- BS_Mode,
- //!笔画模式
- Strokes_Mode,
- //!输入笔顺
- StrokesOrder_Mode ,
- //!数字模式
- Number_Mode ,
- //!字符模式
- Char_Mode
- };
-
- enum{
- //!大写
- CharUpper = 0 ,
- //!字母小写
- CharLower
- } ;
-
- int m_nUpperOrLower ; //!字母大小写
- CString m_strOrderFilter ; //!笔顺的过滤字符串
-
- int m_nPreBtnNo ; //! 前一次点击按钮的顺号
- CFileTime m_tPreTime ; //!前一次点击按钮的时间
- int m_nTimeGap ; //!连续击键的时间间隔
- int m_nCount ;//!光标前的字符个数
- const static int m_nInputMaxLen = 30 ; //!输入框的最大字符数
- const static int m_nCharMaxLen=20 ;//!输入字符串的最大长度
-
- TCHAR m_aSymbol[18] ; //!特殊字符
- const static int m_nSymbolCount = 18 ;
- //方法
- void BtnClick(int nBtnNo ) ;//!按钮调用的公用函数
- void BtnClickEx(int nBtnNo ,int nNumber ) ; //!按钮的扩展函数
-
- void InputChar( int nBtnNO ) ; //!输入字符串
- void InputNumber( int nBtnNO ) ; //!输入数字
- void InputSymbol( ) ; //!输入符号
- void DeleteChar( ) ; //!删除一个字符
-
- int NearDev(int DevNum ,int DevedNum ) ; //!最接近的除法
- BOOL IsExceedLimit( int nInputLen ) ; //!判断是否超出了最大限制
- void MakeSymbol( ) ;//!生成特殊符号
- void SymbolHome( ) ;//!首页
- void SymbolEnd( ) ; //!末页
- void SymbolUpPage( ) ; //!上一页
- void SymbolDownPage( ) ;//! 下一页
- void RadioFunc(int nInputMode) ; //!一组Radio按钮的处理功能
- void InputSpell( int nBtnNO ) ; //输入拼音字母
- BOOL SpellQuery( ) ; //根据输入的拼音字母查询汉字
-
-
- //! 对话框数据
- enum { IDD = IDD_DLGINPUT };
- protected:
- virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV 支持
- DECLARE_MESSAGE_MAP( )
- public:
- CString m_strChar;
- CListBox m_lsList;
-
- // afx_msg void OnKeyUp(UINT nChar, UINT nRepCnt, UINT nFlags);
- // afx_msg void OnSysKeyUp(UINT nChar, UINT nRepCnt, UINT nFlags);
- // afx_msg void OnChar(UINT nChar, UINT nRepCnt, UINT nFlags);
- // afx_msg void OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags);
-
- virtual BOOL PreTranslateMessage(MSG* pMsg);
- afx_msg void OnBnClickedBtnabc( );
-
- CString m_strtest ;
- afx_msg void OnLbnDblclkList();
- // afx_msg void OnLbnSelchangeList();
- virtual BOOL OnInitDialog();
- afx_msg void OnBnClickedBtn1();
- afx_msg void OnBnClickedBtn2();
- afx_msg void OnBnClickedBtn3();
- afx_msg void OnBnClickedBtn4();
- afx_msg void OnBnClickedBtn5();
- afx_msg void OnBnClickedBtn6();
- afx_msg void OnBnClickedBtn7();
- afx_msg void OnBnClickedBtn8();
- afx_msg void OnBnClickedBtn9();
- CButton m_btnHome;
- CButton m_btnB1;
- CButton m_btnUpPage;
- CButton m_btnDownPage;
- CButton m_btnEnd;
- CButton m_btnBack ;
- afx_msg void OnBnClickedBtnhome();
- afx_msg void OnBnClickedBtndowngage();
- afx_msg void OnBnClickedBtnend();
- afx_msg void OnBnClickedBtnupgage();
- //Radio 按钮组
- afx_msg void OnBnClickedRadspell( );
- BOOL m_bSpell;
- BOOL m_bNum;
- BOOL m_bChar;
- BOOL m_bStrokeOrder;
- //!大小写Radio 按钮组
- BOOL m_bUpper ;
- BOOL m_bLower ;
- afx_msg void OnBnClickedRadnum( );
- afx_msg void OnBnClickedRadchar( );
-
- afx_msg void OnBnClickedRadbs();
- afx_msg void OnBnClickedRadstroke();
- afx_msg void OnBnClickedRadstrokeorder();
- CString m_strInput;
- CEdit m_edtIn;
- afx_msg void OnBnClickedBtn10();
- afx_msg void OnBnClickedBtnback();
- afx_msg void OnBnClickedBtnleft();
- afx_msg void OnBnClickedBtnright();
- afx_msg void OnEnSetfocusEdtin();
- afx_msg void OnEnKillfocusEdtin();
- afx_msg void OnLbnSelchangeList();
- afx_msg void OnEnMaxtextEdtin();
- afx_msg void OnBnClickedBtn11();
- afx_msg void OnBnClickedRadupper();
- afx_msg void OnBnClickedRadlower();
- afx_msg void OnBnClickedBtnok();
- };
-