太扯了,我都不知道怎么会碰到这个问题:
当我写的D3D程序窗口部分拖到桌面外时,(向左或者向上,即:坐标数值较小的那端跑到桌面外),窗口内部绘制的内容却不会跟着往桌面外跑,而是保持从"桌面"的左上角开始绘,(当然右边还下边会被裁,毕竟窗口所见部分变小了).

这个是图片连接,大家可以看下,我按ALT+PRINT SCREEN 截的,窗口往左拖了大半到桌面外,但起中显示的内容却仍然从桌面开始.怪!!!
我是用D3D模式2D画的,也就是把摄象机架在(0,0,100),指向(0,0,0),用正交投影方式,3D坐标 X( x,y,z )的转换公式也很简单, 设窗口对应坐标 X'(m,n),那么:
m = x + 400 ; n = 300 - y ;
窗口是800*600的,
我在程序运行中跟了下,用 ::GetWindowRect(...) ,发现窗口的位置很正常,( - 234 , 112 , 566 , 712 ),D3D中的绘图坐标也没错。
哪位达人为吾解惑,不胜感激泣零!!! [em4] [em4] |