C++ 是否可以在win32中的按钮上放置位图?

C++ 是否可以在win32中的按钮上放置位图?,c++,winapi,button,bitmap,windows-ce,C++,Winapi,Button,Bitmap,Windows Ce,我想在按钮上放置位图。我在互联网上所能找到的就是使用BS_位图作为按钮样式,然后使用带有BM_SETIMAGE的SendMessage()。我的问题:这两个定义没有在我的winuser.h中定义 目标运行WindowsCE版本6.00,在我的stdafx.h中,它说 “#定义WINVER _WIN32_WCE”(即0x600)。 但是winuser.h甚至不包含任何BS_位图或BS_SETIMAGE定义 因此,我尝试使用BitBlt()在“case WM_paint”的按钮上绘制位图(不知道如果

我想在按钮上放置位图。我在互联网上所能找到的就是使用BS_位图作为按钮样式,然后使用带有BM_SETIMAGE的SendMessage()。我的问题:这两个定义没有在我的winuser.h中定义

目标运行WindowsCE版本6.00,在我的stdafx.h中,它说 “#定义WINVER _WIN32_WCE”(即0x600)。 但是winuser.h甚至不包含任何BS_位图或BS_SETIMAGE定义

因此,我尝试使用BitBlt()在“case WM_paint”的按钮上绘制位图(不知道如果位图位于按钮上方,是否仍能按下按钮),但位图隐藏在按钮后面。所以外观没有任何变化,我仍然看到灰色的标准按钮

除了使用那些缺少的定义外,是否还有其他可能在按钮上放置位图或图标?或者更好的是,你知道为什么这些定义丢失了,或者我是如何得到它们的吗


手动将这些定义添加到我的代码中当然没有任何帮助。

MFC解决Windows CE问题;您应该能够调整它:。看起来您必须自己绘制。“但是winuser.h甚至不包含任何BS_位图或BS_SETIMAGE define”-那么您必须使用过时的版本,因为winuser.h确实定义了它们(分别定义为
#定义BS_位图0x00000080L
#定义BM_SETIMAGE 0x00F7
)。仅当
WINVER>=0x0400
时才定义它们。WinCE不支持
BS_位图
,因此您必须使用
BS_OWNERDRAW
。@RichardCriten:我知道问题是关于WinCE的。但这是一个旧的操作系统,而且定义确实存在于我见过的每个版本的winuser.h中,这意味着正在使用一个旧版本。除非Microsoft仅为WinCE编译提供了一组完全不同的头,而这些头与为Win32编译提供的头不同。我不知道,我不直接使用Microsoft SDK。发送到常规按钮。但不知道Win CE 6.0是否可用。