Ctrl组合键ASCII码
^Z代表Ctrl+z
ASCII值 控制字符 ASCII值 控制字符 ASCII值 控制字符 ASCII值 控制字符
0(00) NULL 8(08) ^H 16(10) ^P 24(18) ^X
1(01) ^A 9(09) ^I 17(11) ^Q 25(19) ^Y
2(02) ^B 10(0A) ^J 18(12) ^R 26(1A) ^Z
3(03) ^C 11(0B) ^K 19(13) ^S 27(1B) ^[
4(04) ^D 12(0C) ^L 20(14) ^T 28(1C) ^\
5(05) ^E 13(0D) ^M 21(15) ^U 29(1D) ^]
6(06) ^F 14(0E) ^N 22(16) ^V 30(1E) ^^
7(07) ^G 15(0F) ^O 23(17) ^W 31(1F) ^_
限制输入内容 :
响应消息OnChar
void CEnglishEdit::OnChar(UINT nChar, UINT nRepCnt, UINT nFlags)
{
// TODO: 在此添加消息处理程序代码和/或调用默认值
if ((nChar >= && nChar <= ) || //+,-./ 0~9
(nChar >= && nChar <= ) || //A~Z
(nChar >= && nChar <= ) || //a~z
nChar == || nChar == || //";\"
nChar == || nChar == || //" SP"
nChar == 01 || nChar == 03 || //ctrl + a c
nChar == 24 || nChar == 22 //ctrl + x v )
{
CEdit::OnChar(nChar, nRepCnt, nFlags);
}
else
{
return;
}
}
代码中红色部分是实现 复制粘贴全选剪切的功能;
进过实践发现重写 PreTranslateMessage() 不能实现复制粘贴剪切的功能,可以实现全选功能,根据最上边Ctrl组合键ASCII码 来添加自己需要的功能.