练练看有关问题,

练练看问题,急急急!!!
问一下给位,怎么使得连连看游戏中的头像图片有鼠标点击效果?我有两张相似的位图,一张做点击前的,一张做点击后的,是不是只要用两次bitblt函数就可以吗?但是这样做了,没有成功?主要代码在下面:
CDC dcMemory;
CDC dcMemory1;
dcMemory.CreateCompatibleDC(pDC); 
  dcMemory.SelectObject(&bitmap1);
dcMemory1.CreateCompatibleDC(pDC); 
  dcMemory1.SelectObject(&bitmap2);
for(int i=1;i<ROW_NUMBER+1;i++)
{
for(int j=1; j<LINE_NUMBER+1;j++)
{
if(map[i][j].Index>0)
{
if(map[i][j].state==0)
pDC->BitBlt(position_x(j),position_y(i),BMP_WIDTH,BMP_HEIGHT,&dcMemory,
PIC_WIDTH*(map[i][j].Index-1),0 ,SRCCOPY);
else pDC->BitBlt(position_x(i),position_y(j),BMP_WIDTH,BMP_HEIGHT,
&dcMemory1,PIC_WIDTH*(map[i][j].Index-1),0 ,SRCCOPY);

}

}

------解决方案--------------------
应该有个标记,记录鼠标是否点击,显示时,判断,并显示不同的东西。
看你的代码应该是实现了。
但不知道你说的没有成功是怎么回事,是不是点击了没有刷新?
在点击之后,需要刷新,让程序重新绘制。
调用Invalidate(FALSE)即可。
------解决方案--------------------
1楼的兄弟...刷新的参数是FALSE?
if bErase is FALSE, the background remains unchanged.
------解决方案--------------------
如果是TRUE,会将对话框的背景刷新一次。如果操作频繁就会闪烁。
不过,用FALSH,不刷新背景的话,可能会有痕迹,可以做一个DC来缓冲一下。先绘到DC上,绘完后一次全绘到对话框上,就解决痕迹问题了。
------解决方案--------------------
探讨
如果是TRUE,会将对话框的背景刷新一次。如果操作频繁就会闪烁。
不过,用FALSH,不刷新背景的话,可能会有痕迹,可以做一个DC来缓冲一下。先绘到DC上,绘完后一次全绘到对话框上,就解决痕迹问题了。

------解决方案--------------------
还有你上面的代码为啥要创建两个memory DC呢?一个就可以了