fish.liu 发表于 2024-5-30 19:35:57

VC6

如何在VC6中显示奇数的图片方阵

FishC 发表于 2024-5-30 19:36:28

在VC6中显示奇数的图片方阵,可以使用MFC框架来实现。

首先,创建一个新的MFC项目。在对话框资源中添加一个静态文本控件作为画布,并设置合适的大小。

然后,在对话框类的头文件中定义一个函数来绘制奇数的图片方阵。例如:

// MyDialog.h

class CMyDialog : public CDialog
{
    // ...
public:
    void DrawOddMatrix();
};

接下来,在对话框类的cpp文件中实现绘制奇数图片方阵的函数。例如:

// MyDialog.cpp

void CMyDialog::DrawOddMatrix()
{
    CDC *pDC = GetDlgItem(IDC_CANVAS)->GetDC();// 获取画布的设备上下文

    CRect rect;
    GetDlgItem(IDC_CANVAS)->GetClientRect(&rect);// 获取画布的矩形区域

    int size = rect.Width() / 5;// 方阵中每个图片的大小
    int offsetX = (rect.Width() - size * 5) / 2;// 方阵的水平偏移量
    int offsetY = (rect.Height() - size * 5) / 2;// 方阵的垂直偏移量

    for (int i = 0; i < 5; i++)
    {
      for (int j = 0; j < 5; j++)
      {
            int num = i * 5 + j + 1;// 计算当前格子的数字

            if (num % 2 == 1)
            {
                // 绘制奇数图片
                CString str;
                str.Format(_T("images\\%d.bmp"), num);

                CImage image;
                image.Load(str);
                image.Draw(pDC->m_hDC, offsetX + j * size, offsetY + i * size, size, size);
            }
      }
    }

    ReleaseDC(pDC);// 释放设备上下文
}

最后,在OnInitDialog函数中调用DrawOddMatrix函数来显示奇数的图片方阵。例如:

// MyDialog.cpp

BOOL CMyDialog::OnInitDialog()
{
    CDialog::OnInitDialog();

    // ...

    DrawOddMatrix();// 显示奇数的图片方阵

    // ...

    return TRUE;
}

记得在资源文件中导入图片,并将静态文本控件的ID设置为IDC_CANVAS。

这样,当对话框初始化时,会调用DrawOddMatrix函数来显示奇数的图片方阵。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。

wp231957 发表于 2024-5-31 10:16:40

应该与时俱进啊    vc6实在是太古董了

fish.liu 发表于 2024-6-4 15:49:32

学校要用的

fish.liu 发表于 2024-6-4 15:50:06

fish.liu 发表于 2024-6-4 15:49
学校要用的

大佬还知道可以用什么
页: [1]
查看完整版本: VC6