如何将API函数转换到MFC函数实现相同的定位五子棋棋子落子位置功能
原来的API函数:
case WM_LBUTTONDOWN:
if(!bStart)
{
MessageBeep(0);
MessageBox(hwnd, TEXT("要开始游戏,请从菜单中选择“开始”。") , TEXT("五子棋"), MB_OK|MB_ICONINFORMATION);
return 0;
}
x = LOWORD (lParam)/cxBlock;
y = HIWORD (lParam)/cyBlock; 这两行什么意思?
if(matrix[x][y] == NONE)
{
matrix[x][y] = RED;
hdc = GetDC(hwnd);
DrawChess(hdc, RED, x, y, cxBlock, cyBlock);
}
转换后的mfc函数:
void CMychessDlg::OnLButtonDown(UINT nFlags, CPoint point)
{
// TODO: Add your message handler code here and/or call default
if (!bstart)
{
MessageBox("要开始游戏,请从菜单中选择“新局”","提示", MB_OK|MB_ICONINFORMATION);
}
//for(x=0;x<ROWCOLS;x++)
//for(y=0;y<ROWCOLS;y++)
//if(chessPoint[x][y]==point && matrix[x][y]==NONE)
//{
//matrix[x][y]=RED; 这是我自己原先定义的,运行后无效。
x=(point.x-cxBlock/2)/cxBlock;
y=(point.y-cyBlock/2)/cyBlock;
if(matrix[x][y]==NONE)
{
matrix[x][y]=RED;
DrawChess(RED,x,y,cxBlock,cyBlock);
} 这是我转换后的,运行后不是很好
CDialog::OnLButtonDown(nFlags, point);
}
请问怎样改写呢?