TypeCodes

MFC回车键不关闭对话框以及变成TAB键效果

之前在弄完这个十六进制字符串异或的工具后,发现直接按回车键就直接关闭了工具。网上搜了下解决方案,然后自己的总结如下4种方法:

1 设置一个默认按钮(不推荐)

前文小节5中所述,只要将“进行异或”这个按钮属性中的Default Button设置为"TRUE"就行了。但是这样就直接触发这个按钮对应的事件OnBnClickedButton1,而不是对输入的数据进行合法性检查。

2 比较推荐的是重载OnOK()函数或者PreTranslateMessage()函数

首先我们需要找到这两个函数的位置,方法有两种,效果都是殊途同归:

- 阅读剩余部分 -

图文实例说MFC制作工具的心得(二)

继前文《图文实例说MFC制作工具的心得(一)》,这篇文章继续写几点心得。

1 如何将CString转换成char *指针

由于异或的时候可以直接调用《十六进制字符串异或》一文中的十六进制字符串异或方法void hexstrxor(char * HexStr1, char * HexStr2, char * HexStr)

但是Edit Control控件添加变量HexStr1HexStr2都是CString类型,所以需要转换。由于项目的字符集是使用多字节字符集,所以可以通过(LPSTR)(LPCTSTR)CString方法强制将CString数据转换成char *指针类型,这样就可以直接调用了hexstrxor((LPSTR)(LPCTSTR)HexStr1, (LPSTR)(LPCTSTR)HexStr2, HexStrXorResult);

- 阅读剩余部分 -