VC++/MFC
文章平均质量分 79
StarLee
欢迎大家访问我的Blog。
主要是C++,设计模式,面向对象设计和.Net方面的技术文章。
展开
-
在VC中给Slider添加定制的Tooltips
VC中的Slider的Tooltips只能显示表示当前位置的int型值,可是有时候,这种Tooltips并不够用。比如,在一个视频录制的小软件中,可能会需要类似“总共500帧,当前是第13帧”的Tooltips;或者有些时候想在Tooltips中显示float型的值。 在这些时候我们就只能用CToolTipCtrl配合TTN_NEEDTEXT消息来实现我们的定制Tooltips。原创 2005-12-21 10:59:00 · 6611 阅读 · 2 评论 -
让程序在崩溃时体面的退出之总结
《让程序在崩溃时体面的退出》系列的6篇文章发布完后的总结,但不是终结,还有些东西需要深入研究。原创 2011-08-05 09:48:28 · 8860 阅读 · 10 评论 -
让程序在崩溃时体面的退出之终极解决方案(SEH+Dump+Unhandled Exception Filter)
《让程序在崩溃时体面的退出》系列文章的第六篇,同时使用SEH,Dump和Unhandled Exception Filter,来保证遇到使程序崩溃的异常的时候能得到相应的处理。原创 2011-08-03 09:36:43 · 21684 阅读 · 48 评论 -
让程序在崩溃时体面的退出之SEH+Dump文件
《让程序在崩溃时体面的退出》系列文章的第五篇,在程序中使用SEH捕捉到异常的时候创建Dump文件。原创 2011-08-01 09:31:28 · 7354 阅读 · 4 评论 -
让程序在崩溃时体面的退出之SEH
《让程序在崩溃时体面的退出》系列文章的第四篇,在程序中使用微软提供的Structured Exception Handling。原创 2011-07-27 09:45:58 · 12105 阅读 · 26 评论 -
让程序在崩溃时体面的退出之Dump文件
《让程序在崩溃时体面的退出》系列文章的第三篇,在程序崩溃的时候创建Dump文件。原创 2011-07-25 09:43:40 · 45160 阅读 · 72 评论 -
让程序在崩溃时体面的退出之Unhandled Exception
《让程序在崩溃时体面的退出》系列文章的第一篇:怎样处理Unhandled Exception。原创 2011-07-18 10:13:18 · 30069 阅读 · 31 评论 -
让程序在崩溃时体面的退出之CallStack
《让程序在崩溃时体面的退出》系列文章的第二篇,在程序崩溃的时候得到CallStack。原创 2011-07-20 09:33:47 · 20480 阅读 · 25 评论 -
创建进程后得到该进程的主窗口句柄
最近抽空用VC写了一个小应用程序。主要功能就是创建进程,并到该进程的主窗口句柄,然后再给该窗口发消息。下面把代码共享给大家。HWND CreateMyProcess(){ // 进程启动信息 STARTUPINFO si; memset(&si, 0, sizeof(STARTUPINFO)); si.cb = sizeof(STARTUPINFO); s原创 2009-11-24 09:31:00 · 16486 阅读 · 8 评论 -
用文件映射(File Mapping)实现进程间内存共享
我们知道,在Windows中的每个进程都有自己独立的内存空间。该独立的内存空间包含了所有的可执行模块或DLL模块的代码和数据以及动态内存分配的空间。每个进程的内存空间只能被该进程访问,其他进程是不能访问的。 如果我们要想在进程间共享内存(也就是创建一块不同进程都能访问的内存),那就必须使用内核对象。因为内核对象由Windows系统内核所拥有,而不是由进程所拥有。 下面就用文件映原创 2007-06-01 09:33:00 · 17786 阅读 · 2 评论 -
《程序只启动一个实例的几种方法》一文的补充
我那篇《程序只启动一个实例的几种方法》发表后被推荐到了CSDN首页,有不少网友看了之后提出了一些很好的建议。其中有个网友说可以用共享变量法,我上网收集了一些资料,又经过代码测试,现在补充一下这种方法: 五,共享变量法 首先,在App类的cpp文件开头加上下面的代码:#pragma data_seg("StarLee") // 自己定义的数据段 char nInst原创 2007-03-27 09:21:00 · 5009 阅读 · 6 评论 -
程序只启动一个实例的几种方法
有些时候,我们要求一个程序在系统中只能启动一个实例。比如,Windows自带的播放软件Windows Medea Player在Windows里就只能启动一个实例。原因很简单,如果同时启动几个实例,却播放不同的文件,那么声音和图像就会引起混乱。在设计模式中,就有一个SINGLETON模式,该模式就是让类只有一个实例。(关于SINGLETON模式,可以看我那篇《重读《设计模式》之学习笔记(三原创 2007-03-20 09:26:00 · 13582 阅读 · 15 评论 -
让你的控件也具有拖拽(drag-and-drop)功能
现在有很多软件都支持拖拽功能,就是用鼠标拖着文件放到软件窗口中某个位置,软件就可以做出相应的反应。比如,Windows自带的播放软件Windows Media Player,你可以拖着一个媒体文件放到它的主窗口中,它就会开始播放这个文件。 怎么让自己的软件也有这个功能呢? 其实,并不是很难,只要让你需要有拖拽功能的控件响应WM_DROPFILES消息就行了。下面以Edit控件和原创 2007-01-03 09:13:00 · 11475 阅读 · 4 评论 -
在VC中用GDI+绘制角度可变的颜色渐变效果
GDI+ 是GDI(Windows 早期版本提供的图形设备接口)的后续版本,是Microsoft Windows XP作系统即后续版本的图形显示技术。它已经集成到了.Net开发环境中,所以不管你的OS是什么版本,只要安装了.Net框架,就有了GDI+(注意:是.Net框架,而不是.Net开发环境,所以Win98中也可以使用GDI+)。 现在,言归正传。 在头文件中加入下面的代原创 2005-12-21 10:50:00 · 14439 阅读 · 4 评论 -
VC中一些控件的小技巧
1.让List Control有Check Box用SetExtendedStyle方法可以设置,看代码:(CListCtrl m_ListCtrl;)DWORD dwStyle = m_ListCtrl.GetStyle();dwStyle |= LVS_EX_CHECKBOXES;m_ListCtrl.SetExtendedStyle(dwStyle);2.让List Box有原创 2005-12-22 13:06:00 · 4726 阅读 · 0 评论 -
VC中自动改变控件位置和大小的对话框类
在用VC开发应用程序时,经常会要做一些可以改变大小的对话框,而这个时候就要求对话框上的控件会随着对话框大小的改变而改变自己的位置和大小。如果控件比较少,那可以在对话框的OnSize()事件里面添加代码,通过计算来调整各个控件的位置和大小;但是,如果对话框上的控件比较多的话,那这将是一件非常痛苦的事情!要是程序中又有很多可以改变大小的对话框,那一个一个的OnSize()写下来,那会使程序员崩溃的!原创 2006-04-17 09:21:00 · 14407 阅读 · 31 评论