P 291  
case WM_MOUSEMOVE:
中,那个 ptEnd.x ptEnd.y 永远为正数。无论你的鼠标拖到什么地方。这样一来,矩形就不能画到窗口左边之外了,也不能画到上边之外。有什么方法可以得到一个对应的负数值终点坐标?使图形可以画到窗口左边之外再好能得到负数的坐标,不要想一些奇怪的方法(比如,把窗口坐标设为离窗口左上角很远的地方)。另:把画矩形改为画椭圆会容易测试一些

解决方案 »

  1.   

    如果你的HDC只是当前窗口的HDC,无论你怎么设置坐标也不可能画到窗口外面去。
    如果你想在整个屏幕上绘图,可以用GetDC(NULL)来得到一个全屏幕的HDC,这时你就可以在任意位置绘图了。
      

  2.   

    TO : webber84(***闭关修炼中***) 它可以画到窗口外,可以画到右边或下边之外。但不能到左边或上边之外。
    我要的是在窗口中画图,不是在屏幕画图。回答之前,先做一下试验好吗?
    把画矩形改为画椭圆会容易测试一些
    你们误会我的意思了。我不是想把图形画到屏幕,而是想画在窗口之外(这时窗口外的那部分当然是看不见的,只有当窗口放大时时才能看见的)
    还有, 是 P 291 页,是 blackout 2, 不是 blackout 1
      

  3.   

    今天,我发现,在 Win98 中是不会有问题的,在 2000 中才会有这个问题。blokout 2 程序。