假设我使用Polygon
函数创建一个多边形,并且我希望它接受来自鼠标的输入(类似于按钮)。
我该怎么做?
编辑:
处理 WM_LBUTTONDOWN
和 WM_MOUSEMOVE
消息,我使用此代码来检查鼠标是否位于多边形区域中:
if (LOWORD(lParam) < 375 && LOWORD(lParam) > 340 &&
HIWORD(lParam) < 200 && HIWORD(lParam) > 90)
问题是,多边形不是矩形,而是多边形。那么我该如何检测鼠标是否仅在多边形中呢?
编辑2:我还应该注意,它只是一个三角形哈哈。希望这能让这变得更简单。
最佳答案
Polygon()
是一个用于绘制设备上下文的函数。因此它无法接收输入。您需要一个窗口控件来做到这一点。
处理窗口中的输入并使用 HitTest 来检查您是否位于多边形内部。
关于C Windows API : Polygon accept mouse input,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7589640/