我有这个板(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;