C Windows API : Polygon accept mouse input

标签 c windows api polygon

假设我使用Polygon函数创建一个多边形,并且我希望它接受来自鼠标的输入(类似于按钮)。

我该怎么做?

编辑:
处理 WM_LBUTTONDOWNWM_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/

相关文章:

c - 我传递了一个指向该函数的指针,但没有任何内容写入其地址

c - 在c中表示 float

windows - 如何使用 Inno Setup 确定是否安装了特定的 Windows 更新包 (KB*.msu)?

linux - 二进制数如何表示为字符

windows - 使用批处理脚本查找和替换文本文件中字符串的算法有效,但在出现 `<` 、 `>` 或 `|` 字符时停止

c++ - 在 tesseract C++ API 中禁用字典辅助 OCR

C - 让 WIFEXITED 返回 false 以进行调试

c - 指针取消引用顺序的段错误

api - 当我尝试使用 POST 下载文件到我的 api 时出现 404 错误是什么?

javascript - 使用异步调用在 for 循环中构建数组