- 博客(15)
- 资源 (17)
- 收藏
- 关注
转载 UML各个关系的对应代码
UML的几种关系介绍请移步《UML中的关系》! 要真正画好UML图,透彻的理解各个关系的具体含义,需要明白各个关系对应的代码实现。一、依赖 依赖是类的五种关系中耦合最小的一种关系。依赖关系可以描述为:Uses a在生成代码的时候,这两个关系类都不会增加属性。[csharp] view plainco
2012-06-23 22:51:04 998
原创 C++ 2.0版本的富文本RICHEDIT20A的一些总结
最近在修改即时通讯模块相关问题的时候,发现1.0版本的富文本控件CRichEditCtrl有一些bug和问题,比如选中文字时背景色是黑色;当输入白色文字时,选中后不显示文字等。所以决定使用2.0版本的富文本控件,但是远没有刚开始想的那么简单,遇到很多有疑惑的问题,下面就简单的总结一下。 1、使用2.0版本的富文本控件的准备工作 如何在程序中使用2.0版本的富
2012-06-20 09:53:47 14770 6
原创 解决IE7无法设置空白页的办法
找到这个注册表项HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main,新建以下两个DWORD值: RunOnceComplete = dword:00000001 RunOnceHasShown = dword:00000001
2012-06-19 18:56:58 1036
原创 Rich Edit 控件 SDK 参考手册
摘要:本文对Rich Edit控件底层消息机制进行了讲解,以期读者对Windows平台下的Rich Edit控件有一个更深入的认识,同时对于使用Win32 SDK进行开发的人员具有一定参考价值。因为文章的初衷是引领VB程序员通过Win32 API调用来扩展VB下的Rich Edit控件的功能,所以对于每个消息的详细说明和注意事项未作过多说明,感兴趣的朋友可以参考Visual Stu
2012-06-19 13:45:12 1460
原创 通过窗口大小适时调整以及子窗口的动态布局来解决窗口在不同DPI设置下的显示问题
很多软件都有在大DPI设置下界面显示异常的问题,我们的软件也不例外。因为我们的界面窗口的布局很多都是动态调整的,并且很多文字都是Draw上去的,所以相对来说出问题的地方比较少。
2012-06-16 22:19:10 1594
原创 C++剪切板编程中遇到的一个问题
之前在开发一个新功能的时候,需要将文件的路径信息通过剪切板传递给指定的目标。于是就需要将文件信息写入到剪切板中,获取方则从剪切板中读取想要获取的路径信息。剪切板是通过全局内存来共享数据的,存放数据的内存是通过GlobalAlloc来分配的。问题就出在这个用GlobalAlloc来分配的的内存上,在将文件信息写入到剪切板之后,想当然的就调用GlobalFree来释放之前申请来的内存,于是导致了后续的
2012-06-15 21:28:49 1647 1
原创 Windows程序中,数据过多时的栈溢出问题与堆内存的使用
在Windows中,一个线程的栈空间的默认大小是1MB,对于MFC UI主线程,一般其栈空间的大小均为1MB,当UI主线程的数据较大时就可能会造成栈溢出,从而导致程序出现异常。那么出现栈溢出该如何解决呢?可以通过使用堆内存来消除这样的问题,即很多时候都用new来的堆内存。对于类数据,则直接使用new来的对象来存储。系统会给每个程序分配一个4GB的虚拟空间,其中包括存放代码的空间,以及存放数据的空间
2012-06-15 08:57:59 1972
原创 如何让MFC窗口捕获并响应WM_MOUSEHOVER和WM_MOUSELEAVE消息
如何让窗口捕获并响应WM_MOUSEHOVER和WM_MOUSELEAVE消息
2012-06-09 21:13:24 9038 2
原创 代码走读的重要性
刚开发完一个新的功能模块,之前因为很多代码没有走读过,产生了很多不应该有的bug,所以这次有时间就简单走读一下。不走读不要紧,一走读确实发现了一些问题。有些地方的处理有点随意、有点欠考虑,有些地方的处理有较大问题。以前有过很多的教训,但代码走读一直没重视起来,这次记录下来,督促进行后续开发的时候一定要将代码走读给做起来。
2012-06-09 21:09:48 2187
原创 获取系统相关信息的方法
1、获取任务栏的高度: CRect rect; CWnd* pTaskBarWnd = this->FindWindow( "Shell_TrayWnd", NULL ); if( pTaskBarWnd != NULL ) { pTaskBarWnd->GetWindowRect( &rect ); m_nTaskBarHeight = rect.Height(); }
2012-06-06 22:49:41 897
原创 强制刷新窗口并能立即生效的办法
因为控件自绘工程skinui的缺陷,在窗口Move的时候会出现残影残留的现象,为了解决残留的问题,需要移动后马上让窗口立马刷新一下。这时,需要直接去刷新窗口并立即生效。经研究,可以使用下面的办法,如下所示:HWND hWnd = GetSafeHwnd(); ::Invalidate( hWnd ); ::UpdateWindow( hWnd ); 结合msdn,让我
2012-06-06 22:41:02 7934
原创 对话框风格引起的一系列问题
今天在写新的功能模块时,使用到了对话框类,出现了一些莫名其妙的问题。其中一个对话框是主窗口,一个对话框是子窗口,程序初始化时主对话框是掩藏不显示的,但奇怪的是子对话框却显示了出来,并且父窗口的窗口排列也出现了异常。结果折腾了一圈才发现:子对话框的风格为popup,而作为子窗口,应该设置成child风格。很久以前也遇到过类似的问题,在此记录一下,以免下次再出现不必要的折腾了。
2012-06-06 22:28:41 768
原创 通过比对版本和代码修改历史定位由于代码修改引发的新问题
新产品已经基本完成新功能的开发,已进入后期的测试和bug修复阶段。昨天测试报了一个bug,但这个bug在功能刚开发那会是没有,可能后期修改和整理代码时引入的。因为这一段时间添加了部分新功能并修复测试过程中出现的问题,对代码改动的地方比较多,而且是好几个人一起开发和维护,弄不清楚是我改代码引起的还是同事修改引起的,纠结了几个小时也没找到bug产生的原因。 不得已只能通过版本比对来定位
2012-06-02 13:30:28 1042
Windbg调试工具 Windbg-10.0.18.zip
2024-08-21
基于开源CrashRpt与微软开源Detours技术深度改造的异常捕获库及源码分享
2024-04-21
工具源码 - C++实现的抽奖程序
2024-04-20
【项目源码分享】视频监控客户端C++源码实现(可用于学习或练手)
2024-04-20
【工具源码分享】图片查看器C++源码实现
2024-04-20
【项目源码分享】C++-IPC摄像头在线状态ping检测与告警邮件发送
2024-04-20
属性页定制 + 双缓冲位图显示
2010-11-03
对话框标题栏自绘的改进及自绘对话框的封装
2010-09-05
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人