摘要: Introductionhttp://www.codeproject.com/KB/splitter/simpledlgsplitter.aspxI'm a student and very interested in VC++. I often enter this web site to get free source code. I was in need of a splitter in a dialog. I downloaded one but it's very complex and I felt it was difficult to use the control (alt 阅读全文
posted @ 2010-12-20 21:22 maxweii 阅读(418) 评论(0) 推荐(0) 编辑
摘要: VC++6.0控件工具箱: 2 图形控件(picture):常用于显示位图(Bitmap)和图标(Icon)3 静态文本(Static Text):用来在指定的位置显示特定的字符串,一般用来标识附近另一个控件的内容。显示在静态文本控件中的字符串一般不再改变,但是在需要的时候,也可以通过调用相应的函数来进行设置。MFC提供了CStatic类支持静态控件。4 编辑框(Edit Box):用来接收用户输入的字符串。通过选择编辑框的选项,编辑框可以接收字符串、数字、密码等;编辑框还可以设置成接收多行字符串的模式;可以自动进行大小写转换。编辑框可能向其父窗口发送多种控件通知,如果用户需要,可以对这些控件 阅读全文
posted @ 2010-12-20 19:42 maxweii 阅读(8408) 评论(0) 推荐(0) 编辑
摘要: 1、 将 Invalidate()替换为 InvalidateRect()   Invalidate()会导致整个窗口的图象重画,需要的时间比较长,而 InvalidateRect()仅仅重画 Rect 区域内的内容,所以所需时间会少一些。虫虫以前很懒,经常为一小块区域的重画就调用 Invalidate(),不愿意自己去计算需要重画的 Rect,但是事实是,如果你确实需要改善闪烁的情况,计算一个 Rect 所用的时间比起重画那些不需要重画的内容所需要的时间要少得多。2、 禁止系统搽除你的窗口  系统在需要重画窗口的时候会帮你用指定的背景色来搽除窗口。可是,也许需要重画的区域也许非常小。或者,在 阅读全文
posted @ 2010-12-20 16:48 maxweii 阅读(498) 评论(0) 推荐(0) 编辑
摘要: 其实,有无标题栏无所谓,本文要实现的是点击客户区实现拖动.目前,很多基于对话框的应用程序中对话框都是不带框架的,也就是说对话框没有标题栏。众所周知,窗口的移动都是通过鼠标拖动窗口的标题栏来实现的,那么现在应用程序中的对话框没有了标题栏,用户如何移动对话框呢?本实例针对这个问题提出解决的办法。程序编译运行后的界面效果如图一所示:图一、无标题栏的对话框界面 一、实现方法解决无标题栏窗口的拖动问题有两种方案,一种方案是使用常规思路来处理鼠标拖拽事件,当窗口获得WM_LBUTTONDOWN(OnLButtonDown)时,通过设置标志并调用CWnd::SetCapture()函数来让当前窗口捕捉鼠标消 阅读全文
posted @ 2010-12-20 15:41 maxweii 阅读(879) 评论(0) 推荐(0) 编辑
摘要: 介绍: 动态分配、回收内存是C/C++编程语言一个最强的特点,但是中国哲学家孙(Sun Tzu,我不知道是谁?那位知道?) 指出,最强的同时也是最弱的。这句话对C/C++应用来说非常正确,在内存处理出错的地方通常就是BUGS产生的地方。一个最敏感和难检测的BUG就是内存泄漏-没有把前边分配的内存成功释放,一个小的内存泄漏可能不需要太注意,但是程序泄漏大块内存,或者渐增式的泄漏内存可能引起的现象是:先是性能低下,再就是引起复杂的内存耗尽错误。最坏的是,一个内存泄漏程序可能用完了如此多的内存以至于引起其他的程序出错,留给用户的是不能知道错误到底来自哪里。另外,一个看上去无害的内存泄漏可能是另一个问 阅读全文
posted @ 2010-12-20 10:40 maxweii 阅读(428) 评论(0) 推荐(0) 编辑
摘要: 一般性问题1. 代码编译通过了,运行后RichEdit控件不显示,在InitInstance中添加BOOL CWinApp::InitInstance (){…AfxInitRichEdit(); - RichEdit 1.0或 AfxInitRichEdit2(); - RichEdit 2.0…}2. 升级默认的RichEdit版本,默认的版本有BUG,在InitInstance中添加BOOL CWinApp::InitInstance (){…LoadLibrary("RICHED20.DLL");…FreeLibrary();}如果是CRichEditView基类的话,可用如下消息机制 阅读全文
posted @ 2010-12-20 01:40 maxweii 阅读(1277) 评论(0) 推荐(0) 编辑
摘要: CButtonST使我目前见过的最强大,功能最全的CButton派生类。撰写本文的目的不在于技术的讨论,而是希望能够为各位提供关于CButtonST的使用参考,以提高编写程序的速度。   下图是用CButtonST做的几个按钮  以下是CButtonST类的一些版本信息,方便大家可以及时获得它的最新版本。  作者:Davide Calabro  邮箱地址:davide_calabro@yahoo.com  个人主页:http://www.softechsoftware.it  CButtonST类主要包括BtnST.h、BtnST.cpp、BCMenu.h和BCMenu.cpp四个文件。如果你 阅读全文
posted @ 2010-12-20 00:17 maxweii 阅读(523) 评论(0) 推荐(0) 编辑
摘要: 首先,建立一个基于对话框的工程 test,然后把原BCMenu.cpp, BCMenu.h, BtnST.cpp, BtnST.h 四个文件加入到工程中。 接下来我们开始改造CButtonST 类。   1.打开CButtonST类的头文件BtnST.h 在它的开始部分加入对多媒体头文件及库文件的引用: #include #pragma comment(lib,"Winmm.lib")   2.向CButtonST类中添加两个成员变量和两个成员函数: private: CString SoundID; BOOL m_bPlaySound; public: void PlaySound(); v 阅读全文
posted @ 2010-12-20 00:12 maxweii 阅读(426) 评论(0) 推荐(0) 编辑