在wince中也看到别人实现过贴图按钮,但多数是在MFC中继承CButton类实现的,很少有在Win32中直接实现的,在前人基础上写了个ImageButton类可以完成该功能,纯Win32实现的。
主要是实现描述如下:
首先是创建按钮,位置上可以是RECT型参数也可也是,(x,y,iWidth,iHeight)形式的参数。因为是贴图按钮,所以需要加上BS_OWNERDRAW属性。
然后是加载图片,可以通过绝对路径加载(windows mobile中没有相对路径的概念),也可以通过图片的资源ID加载。
然后是通过父窗口响应WM_DRAWITEM 根据按钮状态画出按钮图片。分为透明和不透明2种情况