我有这个板(0,0 是左上角):

假设一个块是 LABEL_SIZE 高度和宽度。让我们说红点和蓝点是鼠标点击。我有这个板的二维数组,我想访问我用鼠标单击的单元格(蓝点或红点)。所以它看起来像简单的逻辑,只计算 ptCursor.x / LABEL_SIZE 来访问列,而 ptCursor.y / LABEL_SIZE 来访问行。但是当我尝试这个时,它会寻址到另一个单元格(比如几英里之外)。
怎么了?
#define LABEL_SIZE 40
#define XLOCATION  ptCursor.x / LABEL_SIZE
#define YLOCATION  ptCursor.y / LABEL_SIZE
case WM_LBUTTONDOWN:
        ptCursor.x = LOWORD(lParam);
        ptCursor.y = HIWORD(lParam);
        return 0;
case WM_KEYDOWN:
    if (wParam >= VK_NUMPAD0 && wParam <= VK_NUMPAD9)
    {
        wsprintf(szWndText, szFormat, wParam - VK_NUMPAD0);
        SetWindowText(hwndLabels[XLOCATION][YLOCATION],
                      szWndText);
    }
    return 0;