Lin Minquan's Blog

体验科技改变生活

TrackMouseEvent

一个用来判断鼠标是否在其上面或者离开的函数, 在MouseMove中调用,然后以会发送两个自定义消息OnMouseLeave和OnMouseHover, 在MouseMove中可以大概这么写: if (!m_tracking) { TRACKMOUSEEVENT t = { sizeof(TRACKMOUSEEVENT), TME_LEAVE, m_hWnd, }; if (::_TrackMouseEvent(&t)) { //TRACE(“* Mouse enter\n”); m_tracking = true; Invalidate(); } } 添加MouseLeave消息写法: afx_msg LRESULT OnMouseLeave(WPARAM, LPARAM); ON_MESSAGE(WM_MOUSELEAVE, OnMouseLeave) LRESULT CxSkinButton::OnMouseLeave(WPARAM, LPARAM) { } 阅读更多 →

多线程入门

入门起来还真是简单呀。 《VC++深入详解》第15章就有介绍。 难的地方应该在于对资源的互斥方面。 2012.11.18更新 关于线程同步,就是创建一个互斥对象CreateMutex, 然后在线程有可能互斥时调用WaitForSingleObject来达到互斥, 不用的时候及时释放ReleaseMutex。 阅读更多 →

Bezier曲线和B样条曲线的一些资料

清华大学计算机系,计算机图形学基础教程 课程 http://cg.cs.tsinghua.edu.cn/course/ 演示软件 [http://cg.cs.tsinghua.edu.cn/course/software.htm ]1 视频 http://cg.cs.tsinghua.edu.cn/course/resource_main.htm#resource_video Wolfram Mathworld B-spline Curve(B样条曲线) 可以复用的源代码下载地址[ ]2 http://download.csdn.net/download/lauo1188/815068 OpenGL中有现成的绘制曲线的函数,非常方便。详见《OpenGL编程指南》第12章。 阅读更多 →

GetRuntimeClass

其实从微软的例子就可以知道它是用来干什么的了 还有一个很有意思的办法可以动态类型识别 http://blog.csdn.net/jacklam200/article/details/4290812 阅读更多 →

递归的缺点

同事写的一些代码中有递归,导致效率下降好多,在debug下非常明显,导致大家在用debug模式下打开文件调试非常慢。 解决办法就是不用递归的方式喽。 递归的优点是代码简洁,缺点是: 运行效率较低,需要额外的栈空间,所以空间消耗要比非递归代码大得多,出栈压栈也有开销,递归深度大时更是明显。 阅读更多 →

A user draw button that supports PNG files with transparency, for Visual C++ 6.0 and VS2005

文章链接:http://www.codeproject.com/Articles/26887/A-user-draw-button-that-supports-PNG-files-with-tr 实话说,这个button类真是不太好用。 我倒腾了半天,也没有做出他那样的效果。 1.首先得添加gdi plus的环境 2.要添加进来的那几个文件中CMemDC会跟系统自带的冲突,重定义了,只得改类名,比如改为CMemDC1 3.得自己设置按钮的size 阅读更多 →

没有迅雷会员?用QQ离线吧

之前在网上看到有人说QQ推出离线下载服务,蛮去试了下,发现是网页版的,它离线下载好,我直接用Firefox下载,速度非常快,我这约1M。 这一点在限制使用下载工具的公司也非常好用,不得不说腾讯的服务器真是多。 从那以后我就再也没买过迅雷会员了。 2012.10.31更新 不过我向同事们推荐qq离线时,发现他们并没有这个功能,我也忘记了我当时是怎么开通这个功能的,应该是我的qq等级高吧。 阅读更多 →