如何为 x 和 y 屏幕坐标的二维数组的 window 输出设置动画

How to animate window output from 2D array of x and y screen co-ordinates

我有一组二维数组(确切地说是 IntMatrix),它们在某个索引中具有值(如果值为 1,它将打印到屏幕上)。 以下是我按下按钮时填充二维数组的方式。

case IDC_SOLVE_BUTTON:
        trysolve = 1;
        solve2D.resize(inRowCount);
        for (int i = 0; i < inRowCount; i++){
            solve2D[i].resize(inColCount);
        }
        solve2D[0][3] = 1;
        solve2D[1][3] = 1;
        solve2D[1][4] = 1;
        solve2D[1][5] = 1;
        solve2D[2][5] = 1;

现在我在一些数组索引中有了值,我知道如何将它们打印到我的 window 上,如下所示:

for (int rowId = 0; rowId < inRowCount; rowId++){
    for (int colId = 0; colId < inColCount; colId++){
        check = (colId*inColCount) + (rowId);

            if (solve2D[rowId][colId] == 1){
            solvecheck = (colId*inColCount) + (rowId);
            startCol = colId * 10;
            startRow = rowId * 10;
            RECT cell = { startCol, startRow, startCol + dCol, startRow + dRow };
            FillRect(hdc, &cell, tBrush);
            }

        }

现在重要的问题是如何准确地为打印设置动画?这样它将打印一个 RECTANGLE,然后在一秒后打印后续的 RECTANGLE。我可以通过任何方式设置计时器并在代码的打印段更新 window ??

感谢这方面的一些指导。请帮忙!

您可以使用Sleep功能让程序等待1秒后再继续。如下:

Sleep(1000);

注意参数是以毫秒为单位的,所以需要1000来表示一秒

将此函数调用放在代码的适当位置即可完成。