Lin Minquan's Blog

体验科技改变生活

DebugView调试工具

可以在Release下输出各种变量的信息,挺好用的。 用outputdebugstring()来输出。 下载地址:http://download.csdn.net/detail/a117653909/4791121 阅读更多 →

推荐个国外学习编程的好地方Codecademy

www.codecademy.com 上面已经有javascritp, python等语言,还挺有意思的,我闲的时候会看下,对于我,主要还是学习英语。页面上大部分都是用英文,所以还是得需要一定的英语基础。 奇怪的是默认中文的课程和英文的课程是不一样的,会少一些。 阅读更多 →

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 阅读更多 →