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

本文介绍了如何在Windows CE(Windows Mobile)环境下,使用纯Win32 API实现一个带有透明背景的贴图按钮。通过创建具有BS_OWNERDRAW属性的按钮,加载图片,并在WM_DRAWITEM消息中根据按钮状态画出图片,实现了透明效果。文章提供了ImageButton类的创建、加载图片以及响应WM_DRAWITEM和WM_CTLCOLORBTN消息的详细步骤。
1682

被折叠的 条评论
为什么被折叠?



