MFC记事本程序

来源:百度知道 编辑:UC知道 时间:2024/07/02 16:05:31
我想用MFC写一个记事本程序,但是在OnKeyDown中式不能识别shift+A这样的组合键的,难道组合键一定要
afx_msg void OnKeyDown(
UINT nChar,
UINT nRepCnt,
UINT nFlags
);
借用nFlags来处理,那有这么多的组合方式要写多少啊...还有就是我用Serialization来保存和读取,怎么使程序和windows 得notepad兼容,也就是为什么我用自己的notepad打开时会提示"不兼容的格式"?
很感激楼下的大哥。还有我想请问一下就是windows的notepad采用的是什么方式,如何知道它是采用这种方式的?还有就是它肯定会记录字体信息,画笔信息等,单单用CStdioFile能做到吗,还是windows的notepad在存取的时候有它自己的格式,比如先读取字体信息等。。。不知道我有没有说清楚,大哥不吝赐教啊,谢谢

判别组合键貌似只有处理你说的WM_KEYDOWN消息了

至于你说的要和Windows的记事本兼容,用Serialization貌似有麻烦,因为它会自行在要保存的数据后面添加一些莫名其妙的后缀,而Windows的文本文档里没有这些后缀内容,所以用你的程序打开记事本时会提示“不兼容格式”
建议你采用直接操作文件的办法,用CStdioFile类的ReadString和WriteString来读取和保存文本。这样就没问题了。