📄 dlginput.h
字号:
/*! @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 "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 + -