Windows下的开发与MFC
文章平均质量分 62
xiaoqiangXX
这个作者很懒,什么都没留下…
展开
-
通过父类对象指针发送子类自定义消息
最近在编写MFC时,遇到一个情况是,当我要向一个自己定义的Dialog发送消息时只有CDialog对象的指针,而没有我自己定义的CMyDialog(派生自CDialog类)的对象指针。而我要发送的消息却是在CMyDialog中自定义的消息。这时我产生了疑问,通过父类对象的指针发送在子类中定义的自定义消息,能否成功? 进过实践,答案是可以的。具体问题可以用下面代码简要说原创 2009-09-11 13:57:00 · 1709 阅读 · 0 评论 -
谈一谈字符编码的事
谈一谈字符编码的事 字符编码是程序员最头疼的问题,有一句话可以形容字符编码的重要性。“大家都统一用UTF,不然最后怎么死的都不知道”。因为文字是用户日常交流的基础,而字符编码是文字在计算机系统中的表示,如果在一个系统中字符编码都没有确定,那么最后很容易出现乱码问题。对于乱码问题,当涉及到的模块增多,系统间的交互增多,解决起来就变得异常困难。字符编码无小事,不要认为你写的程序很小,不涉及到多原创 2013-05-23 16:10:32 · 760 阅读 · 0 评论 -
字符编码篇
在进行WINDOWS编程的时候,需要学习的第一个知识点就是字符编码。因为最开始的windows使用的是ASCII码。在科技的不断应用中,人们发现ASCII码不够使用,然后就发展了很多编码如扩展ASCII,GB2312,GBK,Unicode等等。对于ASCII,GB2312,GBK码的关系,我们只需要知道一点这些编码方法是向下兼容的,即同一个字符在这些方案中总是有相同的编码,后面的标准支持更多的字原创 2010-07-16 15:30:00 · 2179 阅读 · 0 评论 -
虚拟盘符注册表项修改项
必须注册项:HKEY_CLASSES_ROOT\CLSID\ HKEY_CLASSES_ROOT\CLSID\{XXX} 所含项:名称为空的是提示名称,InfoTip项没看到用途 HKEY_CLASSES_ROOT\CLSID\{XXX}\DefaultIcon 所含项:名称为空的是图标的路径 HKEY_CLASSES_ROOT\CLSID\{原创 2012-02-07 14:28:11 · 2360 阅读 · 0 评论 -
函数前面的字符串意思
VC里面:PASCAL CALLBACK WINAPI __stdcall _stdcall是Pascal程序的缺省调用方式,通常用于Win32 Api中,函数采用从右到左的压栈方式,自己在退出时清空堆栈。VC将函数编译后会在函数名前面加上下划线前缀,在函数名后加上"@"和参数的字节数。 _cdecl是C和C++程序的缺省调用方式。每一个调用它的函数都包含清空堆原创 2011-05-24 18:18:00 · 662 阅读 · 0 评论 -
OverlayIcon 制作流程及注意项
OverlayIcon制作流程及注意项 为了制作类似SVN的图标覆盖特效,我确实花了一些时间。目前做到的程度是开发的DLL其Release版本可以在XP、Win7上使用。第一步: 参考Howto overlay an icon over existing shell objects in 3 easy steps – CodeProject这篇文章,按步骤做。 这原创 2012-02-07 14:21:03 · 6273 阅读 · 7 评论 -
MFC中易混淆的字符串指针
这是在我学习MFC时曾遇到的比较麻烦的东西:LPSTR,LPCSTR,LPTSTR,LPCTSTR,LPWSTR,LPCWSTR。初次看到时确实很不适应,不过现在说来也很简单了。在《字符编码篇》中提到Windows下编程需要注意编码转换特别是ASCII码和Unicode码。Windows已经提供大量支持Unicode码的函数,但有时我们还是需要转换的。上面的6个指针类型,现在加以说明。L表原创 2010-07-19 19:13:00 · 1168 阅读 · 0 评论 -
再读MFC的消息机制
这些天又在使用MFC写程序,抽空重读了一下《深入浅出MFC》,同时对照着程序又循着消息传递路线走了一遍,就是侯杰老师说的“二万五千里长征”。这里想说一点自己的体会。 在之前学习MFC是深刻感叹消息机制的精巧,通过宏定义就可以形成一张消息映射网,同时将Frame,View,Document,App全部链接起来。而今日在看MFC消息机制感觉复杂无比,觉得它的设计很不符合面向原创 2010-12-14 10:54:00 · 701 阅读 · 0 评论 -
CMenu 自绘菜单 如何不为灰
太失败,自绘一个菜单,给菜单项添加了响应函数 ,也submenu->EnableMenuItem( ID_B_DEL, MF_ENABLED );可还是为灰色。 最后孙鑫的MFC笔记中发现,MFC为我们提供了一套命令更新机制,所有菜单项的更新都是由这套机制来完成的。所以要想利用CMenu::EnableMenuItem来自己控制菜单使用或不使用变灰等,必须要在CMainFra原创 2010-12-10 15:34:00 · 1287 阅读 · 0 评论 -
HTTP传输层异常处理办法及测试总结
HTTP传输层异常处理办法及测试总结 1. URL错误,指URL格式不正确,未给出URL的情况。HTTP有URL验证可以直接判断出该错误。 2. URL所指地址不存在URL所指地址不存在,会造成CHttpFile的SendRequest方法阻塞,这里采用同步模式进行数据传输。微软对于CHttpFile的传输超时设置是无效的,这一点是微软的BUG,在很原创 2011-05-28 16:40:00 · 4922 阅读 · 0 评论 -
给自己提一个问题,关于MFC的,改日再解决
问题: MFC中说CFrameWnd可以取代SDK程序中窗口函数的地位。但是MFC新建的是对话框工程时,没有CFrameWnd类,那谁提供函数来取代SDk程序中的窗口函数?分析: 个人分析应该还是CWinApp提供。CWinApp继承自CWnd,那CWnd提供了DefWindowProc来派发消息,那么DefWindowsProc将原创 2011-10-26 12:51:18 · 559 阅读 · 0 评论 -
Windows 右键扩展菜单实现中遇到的问题
Windows 右键扩展菜单实现中遇到的问题 1. 右键扩展实现目标 实现效果如下: 对于文本文件点击右键,在右键菜单中出现“SimpleShlExt Text Item”菜单项。 2. 开发环境 Windows7 32位 VS2005 3. 教程与参考资料原创 2013-06-09 10:49:40 · 1416 阅读 · 0 评论