int nMode=MM_LOMETRIC;
switch (message)
    {
    case WM_CREATE:
        return (0);

    case WM_PAINT:
        hdc = BeginPaint (hwnd, &ps);
SetMapMode(hdc,nMode);
hBrush=(HBRUSH)GetStockObject(GRAY_BRUSH);
hPen=(HPEN)GetStockObject(BLACK_PEN);
SelectObject(hdc,hPen);
SelectObject(hdc,hBrush);
Rectangle(hdc,0,0,500,-500);
EndPaint (hwnd, &ps);
        return (0);
        ...                                                   ^  
                                                              |   
Rectangle()里的坐标不是先左上角,后右下角吗,MM_LOMETRIC的坐标不是|-- >吗?那么(0,0)和(500,-500)怎么理解呢?为什么是-500呢??

解决方案 »

  1.   

    MM_LOMETRIC和数学上那种标准坐标系一样的,只不过单位为英寸,窗口最左上角的点就是(0,0),那么向下的方向就是y的负方向,向右的方向就是x的正方向
      

  2.   

    错了,单位为mm,MM_LOENGLISH的单位才是英寸,搞错了不好意思
      

  3.   

    thank you
    我试了试,是这样的