⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dlginput.h

📁 包含拼音和笔画输入的中文输入法,使用VC.NET2003开发.portable Chinese input method includes phonetic input and stroke, the
💻 H
字号:
/*! @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


// CDlgInput 对话框
#include "Inputer\Inputer.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();
};








	



⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -