你知道为什么插排上既有三角插座,也有两脚插座吗?并不是功能有什么不同,而是可以用在不同的场合下。
对应到函数,那么就是为了适应不同的接口,方便外部调用,内部处理没有什么区别。
如果你有一个HPEN对象,那么你可以直接用SelectObject选入;如果你有一个CPen对象,也可以直接用SelectObject选入。
好处就是我不需要用一个HPEN对象,先生成一个CPen对象后再调用SelectObject了。
麻烦了自己,方便了别人。连续调用SelectObject,只要你的句柄对象不丢失或被改变,及时释放就没有什么问题。
对应到函数,那么就是为了适应不同的接口,方便外部调用,内部处理没有什么区别。
如果你有一个HPEN对象,那么你可以直接用SelectObject选入;如果你有一个CPen对象,也可以直接用SelectObject选入。
好处就是我不需要用一个HPEN对象,先生成一个CPen对象后再调用SelectObject了。
麻烦了自己,方便了别人。连续调用SelectObject,只要你的句柄对象不丢失或被改变,及时释放就没有什么问题。
还是CPen*么?
编译不抱错?
编译不报错 VS2005+PB6.0环境下
编译不报错 VS2005+PB6.0环境下
不好意思
没看清
如果是HPEN那是对的
2、3其实是一样的
不过是SelectObject的多态
兼容不同的参数而已
然后是用句柄操作的
即便是第一种方法
其实质也是通过句柄操作的
只不过这个过程被封装了
编译不报错 VS2005+PB6.0环境下
不好意思
没看清
如果是HPEN那是对的
2、3其实是一样的
不过是SelectObject的多态
兼容不同的参数而已
然后是用句柄操作的
即便是第一种方法
其实质也是通过句柄操作的
只不过这个过程被封装了
谢谢你的耐心解答 辛苦两位版主了 想问的已经明白了