a) 在屏幕上显示一幅位图
b) 用定时器使位图沿着客户区内边框移动,即先由左向右移,碰到右边界后向下移动,然后向左,向上,再向右移动。
提示:仅靠坐标判断开控制方向是不够的,需要加入额外变量表明运动方向。
c) 用两个菜单项控制移动的开始/结束我怎么获取位图的边界用来和客户去边框比较呢?

解决方案 »

  1.   

    建立一个新的窗口和位图一样大小,然后将位图帖入窗口并控制这个位图在该窗口中的显示,这样就成了控制该窗口在主窗口中的移动了,获取主窗口的大小和主窗口客户区的位置(GetWindowRect,GetClientRect),并且再次获得贴位图窗口的位置(GetWindowRect),并将贴位图窗口的位置转换到主窗口中去(ScreenToClient,因为GetWindowRect返回的是屏幕坐标),就成了主窗口中的坐标了,然后再和主窗口客户区进行计算得到移动的方程,到这里就不用再说了吧