Line:290 how your program can cause an assertion

// picture1Dlg.cpp : implementation file //

#include "stdafx.h" #include "picture1.h" #include "picture1Dlg.h"

#ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = FILE; #endif

///////////////////////////////////////////////////////////////////////////// // CAboutDlg dialog used for App About

class CAboutDlg : public CDialog { public: CAboutDlg();

// Dialog Data //{{AFX_DATA(CAboutDlg) enum { IDD = IDD_ABOUTBOX }; //}}AFX_DATA

// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CAboutDlg)
protected:
virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support
//}}AFX_VIRTUAL

// Implementation protected: //{{AFX_MSG(CAboutDlg) //}}AFX_MSG DECLARE_MESSAGE_MAP() }; CPicture1Dlg::~CPicture1Dlg() { ::DeleteObject(bitmap); ::KillTimer(GetSafeHwnd(),10); } CString CPicture1Dlg::IntToString(INT num) { char temp[10]; _itoa(num,temp,10); return (CString)temp; } void CPicture1Dlg::SetImage() { INT con; HANDLE picture; CRect rect(0,0,x,y); picture=bitmap; con=2; for(int i=0;i<=con;i++) { CDC pDC=new CDC; CClientDC dc(&m_Image[i]); pDC->CreateCompatibleDC(&dc); pDC->SelectObject(picture); dc.BitBlt(0,0,x,y,pDC,xi,0,SRCCOPY); if(Style3d) dc.DrawEdge(rect,EDGE_RAISED,BF_RECT); else if(!Style3d) dc.Draw3dRect(rect,RGB(0,0,0,),RGB(0,0,0,)); delete pDC; UpdateWindow(); } for(int j=0;j<=con;j++) { CClientDC dc(&m_Image[con+1+j]); CDCpDC=new CDC; pDC->CreateCompatibleDC(&dc); pDC->SelectObject(picture); dc.BitBlt(0,0,x,y,pDC,xj,y,SRCCOPY); if(Style3d) dc.DrawEdge(rect,EDGE_RAISED,BF_RECT); else if(!Style3d) dc.Draw3dRect(rect,RGB(0,0,0,),RGB(0,0,0,)); delete pDC; } for(int k=0;k<=con;k++) { CClientDC dc(&m_Image[(con+1)2+k]); CDC *pDC=new CDC; pDC->CreateCompatibleDC(&dc); pDC->SelectObject(picture); dc.BitBlt(0,0,x,y,pDC,xk,2*y,SRCCOPY); if(Style3d) dc.DrawEdge(rect,EDGE_RAISED,BF_RECT); else if(!Style3d) dc.Draw3dRect(rect,RGB(0,0,0,),RGB(0,0,0,)); delete pDC; } } void CPicture1Dlg::OnBegin() { IsRnd=FALSE; CanCount=FALSE; count=0; SetPos(); IsWin(); m_wndStatusBar.SetText("加油!",0,0); } void CPicture1Dlg::SetPos() { BITMAP bm; INT con; bitmap.GetObject(sizeof(BITMAP),&bm); Width=bm.bmWidth; Height=bm.bmHeight; {x=Width/3; y=Height/3; con=2;}

for(int i=0;i<=con;i++)
{
    m_Image[i].SetWindowPos(NULL,x*i,0,0,0,SWP_NOSIZE);
    m_Image[i].SetWindowPos(NULL,0,0,x,y,SWP_NOMOVE);
}
for(int j=0;j<=con;j++)
{
    m_Image[con+1+j].SetWindowPos(NULL,x*j,y,0,0,SWP_NOSIZE);
    m_Image[con+1+j].SetWindowPos(NULL,0,0,x,y,SWP_NOMOVE);
}
for(int k=0;k<=con;k++)
{
    m_Image[(con+1)*2+k].SetWindowPos(NULL,x*k,2*y,0,0,SWP_NOSIZE);
    m_Image[(con+1)*2+k].SetWindowPos(NULL,0,0,x,y,SWP_NOMOVE);
}

} BOOL CPicture1Dlg::IsWin() { WINDOWPLACEMENT wp; INT con; INT win=0; con=2; for(int a=0;a<=con;a++) { m_Image[a].GetWindowPlacement(&wp); if(wp.rcNormalPosition.top==0&&wp.rcNormalPosition.left==ax) win+=1; } for(int b=0;b<=con;b++) { m_Image[con+1+b].GetWindowPlacement(&wp); if(wp.rcNormalPosition.top==y&&wp.rcNormalPosition.left==xb) win+=1; } if(win<3)return FALSE; for(int c=0;c<=con;c++) { m_Image[2*(con+1)+c].GetWindowPlacement(&wp); if(wp.rcNormalPosition.top==2y&&wp.rcNormalPosition.left==xc) win+=1; } if(win<5)return FALSE; if(win==9)//判断是否完成 { m_Image[8].ShowWindow(SW_SHOW); m_wndStatusBar.SetText("祝贺你,拼出来了!",0,0); return TRUE; } else return FALSE;

} void CPicture1Dlg::MoveImage(int num) { int xnum,ynum,level;

level=8;

WINDOWPLACEMENT wpnum,wp15;
m_Image[level].GetWindowPlacement(&wp15);
m_Image[num].GetWindowPlacement(&wpnum);
xnum=wpnum.rcNormalPosition.left; ynum=wpnum.rcNormalPosition.top;
if(num!=level)
if(wpnum.rcNormalPosition.top==wp15.rcNormalPosition.top
    &&wpnum.rcNormalPosition.left==wp15.rcNormalPosition.left-x)
{
    m_Image[num].SetWindowPos(NULL,xnum+x,ynum,0,0,SWP_NOSIZE);
    m_Image[level].SetWindowPos(NULL,xnum,ynum,0,0,SWP_NOSIZE);
}
    if(wpnum.rcNormalPosition.top==wp15.rcNormalPosition.top
    &&wpnum.rcNormalPosition.left==wp15.rcNormalPosition.left+x)
    {
      m_Image[num].SetWindowPos(NULL,xnum-x,ynum,0,0,SWP_NOSIZE);
      m_Image[level].SetWindowPos(NULL,xnum,ynum,0,0,SWP_NOSIZE);
    }
if(wpnum.rcNormalPosition.left==wp15.rcNormalPosition.left
    &&wpnum.rcNormalPosition.top==wp15.rcNormalPosition.top+y)
{
      m_Image[num].SetWindowPos(NULL,xnum,ynum-y,0,0,SWP_NOSIZE);
      m_Image[level].SetWindowPos(NULL,xnum,ynum,0,0,SWP_NOSIZE);
}
    if(wpnum.rcNormalPosition.left==wp15.rcNormalPosition.left
    &&wpnum.rcNormalPosition.top==wp15.rcNormalPosition.top-y)
{
      m_Image[num].SetWindowPos(NULL,xnum,ynum+y,0,0,SWP_NOSIZE);
      m_Image[level].SetWindowPos(NULL,xnum,ynum,0,0,SWP_NOSIZE);
}

} void CPicture1Dlg::Rand() { int xnum,ynum,level; UINT rand;level=8;//如果是9格 WINDOWPLACEMENT wpnum,wp15; for(int a=0;a<=600;a++) { rand=MapRand(4); if(rand==1) for(int b=0;b<=level-1;b++) { m_Image[level].GetWindowPlacement(&wp15); m_Image[b].GetWindowPlacement(&wpnum); xnum=wpnum.rcNormalPosition.left; ynum=wpnum.rcNormalPosition.top; if(wpnum.rcNormalPosition.top==wp15.rcNormalPosition.top &&wpnum.rcNormalPosition.left==wp15.rcNormalPosition.left-x) { m_Image[b].SetWindowPos(NULL,xnum+x,ynum,0,0,SWP_NOSIZE); m_Image[level].SetWindowPos(NULL,xnum,ynum,0,0,SWP_NOSIZE);

            }
        }
        if(rand==2)
                for(int c=0;c<=level-1;c++)
        {
            m_Image[level].GetWindowPlacement(&wp15);
            m_Image[c].GetWindowPlacement(&wpnum);
            xnum=wpnum.rcNormalPosition.left; ynum=wpnum.rcNormalPosition.top;
            if(wpnum.rcNormalPosition.top==wp15.rcNormalPosition.top
                &&wpnum.rcNormalPosition.left==wp15.rcNormalPosition.left+x)
            {
                m_Image[c].SetWindowPos(NULL,xnum-x,ynum,0,0,SWP_NOSIZE);
                m_Image[level].SetWindowPos(NULL,xnum,ynum,0,0,SWP_NOSIZE);

            }
        }
        if(rand==3)
                for(int d=0;d<=level-1;d++)
        {
            m_Image[level].GetWindowPlacement(&wp15);
            m_Image[d].GetWindowPlacement(&wpnum);
            xnum=wpnum.rcNormalPosition.left; ynum=wpnum.rcNormalPosition.top;
            if(wpnum.rcNormalPosition.left==wp15.rcNormalPosition.left
                &&wpnum.rcNormalPosition.top==wp15.rcNormalPosition.top+y)
            {
                m_Image[d].SetWindowPos(NULL,xnum,ynum-y,0,0,SWP_NOSIZE);
                m_Image[level].SetWindowPos(NULL,xnum,ynum,0,0,SWP_NOSIZE);

            }
        }
        if(rand==4)
                for(int e=0;e<=level-1;e++)
        {
            m_Image[level].GetWindowPlacement(&wp15);
            m_Image[e].GetWindowPlacement(&wpnum);
            xnum=wpnum.rcNormalPosition.left; ynum=wpnum.rcNormalPosition.top;
            if(wpnum.rcNormalPosition.left==wp15.rcNormalPosition.left
                &&wpnum.rcNormalPosition.top==wp15.rcNormalPosition.top-y)
            {
                m_Image[e].SetWindowPos(NULL,xnum,ynum+y,0,0,SWP_NOSIZE);
                m_Image[level].SetWindowPos(NULL,xnum,ynum,0,0,SWP_NOSIZE);

            }
        }

}m_Image[8].ShowWindow(SW_HIDE);
IsRnd=TRUE;
CanCount=TRUE;

} void CPicture1Dlg::ShowItem() { INT count;count=7; for(int i=0;i<=count;i++)m_Image[i].ShowWindow(SW_SHOW); pSubMenu=pMainMenu->GetSubMenu(0); pSubMenu->EnableMenuItem(ID_BEGIN,MF_ENABLED); pSubMenu->EnableMenuItem(ID_FORHELP,MF_ENABLED); pSubMenu=pMainMenu->GetSubMenu(1); pSubMenu->EnableMenuItem(ID_PICTURE1,MF_ENABLED); pSubMenu->EnableMenuItem(ID_PICTURE2,MF_ENABLED); pSubMenu->EnableMenuItem(ID_PICTURE3,MF_ENABLED); pSubMenu->EnableMenuItem(ID_PICTURE4,MF_ENABLED);

} void CPicture1Dlg::OnRun(UINT nBitmapID,UINT nMenuID) { pSubMenu=pMainMenu->GetSubMenu(1); pSubMenu->CheckMenuItem(ID_PICTURE1,MF_UNCHECKED); pSubMenu->CheckMenuItem(ID_PICTURE2,MF_UNCHECKED); pSubMenu->CheckMenuItem(ID_PICTURE3,MF_UNCHECKED); pSubMenu->CheckMenuItem(ID_PICTURE4,MF_UNCHECKED); pSubMenu->CheckMenuItem(nMenuID,MF_CHECKED); count=0; CanCount=FALSE; IsRnd=FALSE; bitmap.DeleteObject(); bitmap.LoadBitmap(nBitmapID); SetPos(); SetImage(); IsWin(); } UINT CPicture1Dlg::MapRand(UINT nMax) { int nRand=rand(); float fMap=(float)nMax/RAND_MAX; float fRetVal=(float)nRand*fMap+0.5f; return (UINT)fRetVal;

} CAboutDlg::CAboutDlg() : CDialog(CAboutDlg::IDD) { //{{AFX_DATA_INIT(CAboutDlg) //}}AFX_DATA_INIT }

void CAboutDlg::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); //{{AFX_DATA_MAP(CAboutDlg) //}}AFX_DATA_MAP }

BEGIN_MESSAGE_MAP(CAboutDlg, CDialog) //{{AFX_MSG_MAP(CAboutDlg) // No message handlers //}}AFX_MSG_MAP END_MESSAGE_MAP()

///////////////////////////////////////////////////////////////////////////// // CPicture1Dlg dialog int static strPartDim[4]={160,260,350,-1};//StatusBar//全局变量 CPicture1Dlg::CPicture1Dlg(CWnd* pParent /=NULL/) : CDialog(CPicture1Dlg::IDD, pParent) { //{{AFX_DATA_INIT(CPicture1Dlg) // NOTE: the ClassWizard will add member initialization here //}}AFX_DATA_INIT // Note that LoadIcon does not require a subsequent DestroyIcon in Win32 m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);

CanCount=FALSE;//构造函数内代码
count=0;
IsRnd=FALSE;
Style3d=FALSE;//图格风格
x=y=0;

}

void CPicture1Dlg::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); //{{AFX_DATA_MAP(CPicture1Dlg) // NOTE: the ClassWizard will add DDX and DDV calls here DDX_Control(pDX,IDC_IMAGE0,m_Image[0]); DDX_Control(pDX,IDC_IMAGE1,m_Image[1]); DDX_Control(pDX,IDC_IMAGE2,m_Image[2]); DDX_Control(pDX,IDC_IMAGE3,m_Image[3]); DDX_Control(pDX,IDC_IMAGE4,m_Image[4]); DDX_Control(pDX,IDC_IMAGE5,m_Image[5]); DDX_Control(pDX,IDC_IMAGE6,m_Image[6]); DDX_Control(pDX,IDC_IMAGE7,m_Image[7]); DDX_Control(pDX,IDC_IMAGE8,m_Image[8]); //}}AFX_DATA_MAP }

BEGIN_MESSAGE_MAP(CPicture1Dlg, CDialog) //{{AFX_MSG_MAP(CPicture1Dlg) ON_WM_SYSCOMMAND() ON_WM_PAINT() ON_WM_QUERYDRAGICON() ON_COMMAND(ID_3D, On3d) ON_COMMAND(ID_BEGIN, OnBegin) ON_COMMAND(ID_EXIT, OnExit) ON_COMMAND(ID_FLAT, OnFlat) ON_COMMAND(ID_FORHELP, OnForhelp) ON_COMMAND(ID_PICTURE1, OnPicture1) ON_COMMAND(ID_PICTURE2, OnPicture2) ON_COMMAND(ID_PICTURE3, OnPicture3) ON_COMMAND(ID_PICTURE4, OnPicture4) ON_BN_CLICKED(IDC_IMAGE0, OnImage0) ON_BN_CLICKED(IDC_IMAGE1, OnImage1) ON_BN_CLICKED(IDC_IMAGE2, OnImage2) ON_BN_CLICKED(IDC_IMAGE3, OnImage3) ON_BN_CLICKED(IDC_IMAGE4, OnImage4) ON_BN_CLICKED(IDC_IMAGE5, OnImage5) ON_BN_CLICKED(IDC_IMAGE6, OnImage6) ON_BN_CLICKED(IDC_IMAGE7, OnImage7) ON_BN_CLICKED(IDC_IMAGE8, OnImage8) //}}AFX_MSG_MAP END_MESSAGE_MAP()

///////////////////////////////////////////////////////////////////////////// // CPicture1Dlg message handlers

BOOL CPicture1Dlg::OnInitDialog() { srand((unsigned)time(NULL)); bitmap.LoadBitmap(IDB_BITMAP3); pMainMenu=GetMenu(); SetWindowPos(NULL,0,0,358,356,SWP_NOMOVE);

SetTimer(10,1000,NULL);
m_wndStatusBar.Create(WS_CHILD|WS_VISIBLE|CCS_BOTTOM|CCS_NODIVIDER,CRect(0,0,0,0),this,102);

m_wndStatusBar.SetParts(3,strPartDim);
m_wndStatusBar.SetText("加油!",0,0);
m_wndStatusBar.SetText("Computer74",2,0);
SetPos();

// CDialog::OnInitDialog();

// Add "About..." menu item to system menu.

// IDM_ABOUTBOX must be in the system command range.
ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX);
ASSERT(IDM_ABOUTBOX < 0xF000);

CMenu* pSysMenu = GetSystemMenu(FALSE);
if (pSysMenu != NULL)
{
    CString strAboutMenu;
    strAboutMenu.LoadString(IDS_ABOUTBOX);
    if (!strAboutMenu.IsEmpty())
    {
        pSysMenu->AppendMenu(MF_SEPARATOR);
        pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);
    }
}

// Set the icon for this dialog.  The framework does this automatically
//  when the application's main window is not a dialog
SetIcon(m_hIcon, TRUE);            // Set big icon
SetIcon(m_hIcon, FALSE);        // Set small icon

// TODO: Add extra initialization here

return TRUE;  // return TRUE  unless you set the focus to a control

}

void CPicture1Dlg::OnSysCommand(UINT nID, LPARAM lParam) { if ((nID & 0xFFF0) == IDM_ABOUTBOX) { CAboutDlg dlgAbout; dlgAbout.DoModal(); } else { CDialog::OnSysCommand(nID, lParam); } }

// If you add a minimize button to your dialog, you will need the code below // to draw the icon. For MFC applications using the document/view model, // this is automatically done for you by the framework.

void CPicture1Dlg::OnPaint() { if (IsIconic()) { CPaintDC dc(this); // device context for painting

    SendMessage(WM_ICONERASEBKGND, (WPARAM) dc.GetSafeHdc(), 0);

    // Center icon in client rectangle
    int cxIcon = GetSystemMetrics(SM_CXICON);
    int cyIcon = GetSystemMetrics(SM_CYICON);
    CRect rect;
    GetClientRect(&rect);
    int x = (rect.Width() - cxIcon + 1) / 2;
    int y = (rect.Height() - cyIcon + 1) / 2;

    // Draw the icon
    dc.DrawIcon(x, y, m_hIcon);
}
else
{
    CDialog::OnPaint();
    SetImage();
}

} void CPicture1Dlg::OnTimer(UINT nIDEvent) { nIDEvent=10; CString m_temp="计时:"; if(CanCount==TRUE) count+=1; TimeCon=IntToString(count); TimeCon=m_temp+" "+TimeCon+"""秒"; m_wndStatusBar.SetText(TimeCon,1,0); CDialog::OnTimer(nIDEvent); } // The system calls this to obtain the cursor to display while the user drags // the minimized window. HCURSOR CPicture1Dlg::OnQueryDragIcon() {

return (HCURSOR) m_hIcon;

}

void CPicture1Dlg::On3d() { pSubMenu=pMainMenu->GetSubMenu(2); pSubMenu->CheckMenuItem(ID_FLAT,MF_UNCHECKED); pSubMenu->CheckMenuItem(ID_3D,MF_CHECKED); Style3d=TRUE; SetImage(); // TODO: Add your command handler code here

}

void CPicture1Dlg::OnExit() { EndDialog(IDOK); // TODO: Add your command handler code here

}

void CPicture1Dlg::OnFlat() { pSubMenu=pMainMenu->GetSubMenu(2); pSubMenu->CheckMenuItem(ID_FLAT,MF_CHECKED); pSubMenu->CheckMenuItem(ID_3D,MF_UNCHECKED); Style3d=FALSE; SetImage(); // TODO: Add your command handler code here

}

void CPicture1Dlg::OnForhelp() { CAboutDlg dlg; dlg.DoModal(); // TODO: Add your command handler code here

}

void CPicture1Dlg::OnPicture1() { OnRun(IDB_BITMAP2,ID_PICTURE2); m_wndStatusBar.SetText("HelloKitty(My Love!)",0,0); // TODO: Add your command handler code here

}

void CPicture1Dlg::OnPicture2() { OnRun(IDB_BITMAP1,ID_PICTURE1); m_wndStatusBar.SetText("咖啡猫",0,0); // TODO: Add your command handler code here

}

void CPicture1Dlg::OnPicture3() { OnRun(IDB_BITMAP3,ID_PICTURE3); m_wndStatusBar.SetText("Duck(小鸭)",0,0); // TODO: Add your command handler code here

}

void CPicture1Dlg::OnPicture4() { OnRun(IDB_BITMAP4,ID_PICTURE4); m_wndStatusBar.SetText("美丽的女孩(I love)",0,0); // TODO: Add your command handler code here

}

void CPicture1Dlg::OnImage0() {
if(IsRnd) MoveImage(0); else Rand(); if(IsWin()) CanCount=FALSE; // TODO: Add your control notification handler code here

}

void CPicture1Dlg::OnImage1() {
if(IsRnd) MoveImage(1); else Rand(); if(IsWin()) CanCount=FALSE; // TODO: Add your control notification handler code here

}

void CPicture1Dlg::OnImage2() { if(IsRnd) MoveImage(2); else Rand(); if(IsWin()) CanCount=FALSE; // TODO: Add your control notification handler code here

}

void CPicture1Dlg::OnImage3() { if(IsRnd) MoveImage(3); else Rand(); if(IsWin()) CanCount=FALSE; // TODO: Add your control notification handler code here

}

void CPicture1Dlg::OnImage4() { if(IsRnd) MoveImage(4); else Rand(); if(IsWin()) CanCount=FALSE; // TODO: Add your control notification handler code here

}

void CPicture1Dlg::OnImage5() { if(IsRnd) MoveImage(5); else Rand(); if(IsWin()) CanCount=FALSE; // TODO: Add your control notification handler code here

}

void CPicture1Dlg::OnImage6() { if(IsRnd) MoveImage(6); else Rand(); if(IsWin()) CanCount=FALSE; // TODO: Add your control notification handler code here

}

void CPicture1Dlg::OnImage7() { if(IsRnd) MoveImage(7); else Rand(); if(IsWin()) CanCount=FALSE; // TODO: Add your control notification handler code here

}

void CPicture1Dlg::OnImage8() { if(IsRnd) MoveImage(8); else Rand(); if(IsWin()) CanCount=FALSE; // TODO: Add your control notification handler code here

}

// picture1Dlg.h : header file //

#if !defined(AFX_PICTURE1DLG_H__6CC4D23D_BAA6_465E_9591_6A8808667BD8__INCLUDED_) #define AFX_PICTURE1DLG_H__6CC4D23D_BAA6_465E_9591_6A8808667BD8__INCLUDED_

#if _MSC_VER > 1000 #pragma once #endif // _MSC_VER > 1000

///////////////////////////////////////////////////////////////////////////// // CPicture1Dlg dialog

class CPicture1Dlg : public CDialog { // Construction public: CPicture1Dlg(CWnd* pParent = NULL); // standard constructor ~CPicture1Dlg(); BOOL IsRnd; CStatic m_Image[16]; CBitmap bitmap; INT x; INT y; BOOL CanCount; int count; BOOL Style3d; CMenu *pMainMenu; CMenu *pSubMenu; CStatusBarCtrl m_wndStatusBar; CString TimeCon; INT Width,Height; // Dialog Data //{{AFX_DATA(CPicture1Dlg) enum { IDD = IDD_PICTURE1_DIALOG }; // NOTE: the ClassWizard will add data members here //}}AFX_DATA

// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CPicture1Dlg)
protected:
virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support
void MoveImage(int num);
void SetPos();
void SetImage();
UINT MapRand(UINT nMax);
void Rand();
void OnTimer(UINT nIDEvent);
void ShowItem();
BOOL IsWin();
void OnRun(UINT nBitmapID,UINT nMenuID);
CString IntToString(INT num);
//}}AFX_VIRTUAL

// Implementation protected: HICON m_hIcon;

// Generated message map functions
//{{AFX_MSG(CPicture1Dlg)
virtual BOOL OnInitDialog();
afx_msg void OnSysCommand(UINT nID, LPARAM lParam);
afx_msg void OnPaint();
afx_msg HCURSOR OnQueryDragIcon();
afx_msg void On3d();
afx_msg void OnBegin();
afx_msg void OnExit();
afx_msg void OnFlat();
afx_msg void OnForhelp();
afx_msg void OnPicture1();
afx_msg void OnPicture2();
afx_msg void OnPicture3();
afx_msg void OnPicture4();
afx_msg void OnImage0();
afx_msg void OnImage1();
afx_msg void OnImage2();
afx_msg void OnImage3();
afx_msg void OnImage4();
afx_msg void OnImage5();
afx_msg void OnImage6();
afx_msg void OnImage7();
afx_msg void OnImage8();
//}}AFX_MSG
DECLARE_MESSAGE_MAP()

};

//{{AFX_INSERT_LOCATION}} // Microsoft Visual C++ will insert additional declarations immediately before the previous line.

#endif // !defined(AFX_PICTURE1DLG_H__6CC4D23D_BAA6_465E_9591_6A8808667BD8__INCLUDED_)

这个是做拼图游戏遇到的问题

你好,我是有问必答小助手,非常抱歉,本次您提出的有问必答问题,技术专家团超时未为您做出解答

本次提问扣除的有问必答次数,将会以问答VIP体验卡(1次有问必答机会、商城购买实体图书享受95折优惠)的形式为您补发到账户。

​​​​因为有问必答VIP体验卡有效期仅有1天,您在需要使用的时候【私信】联系我,我会为您补发。