在资源中导入了很多张位图,想程序运行时:点击鼠标左键,显示下一张位图;点击鼠标右键,显示上一张位图。如果到底或到底,位图保持不变。不会,能帮忙解下惑吗?谢谢。

解决方案 »

  1.   

    在鼠标消息函数中用BitBlt贴图就是了
      

  2.   

    用一个CBitmap Bitmap[x]数组把资源全部load出来.
    用一个变量int x = 0;控制显示第x张bmp
    一个变量控制是否显示:BOOL m_bIsShow = FALSE;
    在OnDraw(CDC *pDC)中加上:
    {
        if( m_bIsShow ){// 开始显示
            CDC MemDC;
            MemDC.CreateCompatibleDC( pDC );
            CBitmap *pOldBitmap = ( CBitmap * )MemDC.SelectObject( &Bitmap[x] );
            pDC->BitBlt( 0, 0, width, height, &MemDC, 0, 0, SRCCOPY );
            MemDC.SelectObject( pOldBitmap );
        }
    }然后在OnLButtonDown()中将if(x < all)x++;OnRButtonDown中if(x > 0)x--;
      

  3.   

    OnLButtonDown()中不使用InvalidateRect()?
      

  4.   

    嗯~~
    谢谢~~刚接触MFC,有些地方不太熟。