GDI+做正弦曲线(获取窗口大小)

void GdiDrawline(HWND hWnd, HDC hdc)
{
    Gdiplus::Graphics graphics(hdc);
    Gdiplus::Pen myPen(Gdiplus::Color::Red);
    myPen.SetWidth(1);
    RECT lpRect;
    GetClientRect(hWnd, &lpRect);//获取窗口客户区的坐标,例如:记事本程序编辑窗口的左上点相对于记事本程序的坐标,编辑窗口的右下点相对于记事本程序的坐标。
    int hight = lpRect.bottom - lpRect.top;
    int width = lpRect.right - lpRect.left;
    for (int i=0; i<width; i++)
    {
        graphics.DrawLine(&myPen, i, (int)(hight/2-hight/2*sin(i/100.0)), i+1, (int)(hight/2-hight/2*sin((i+1)/100.0)));
    }
    myPen.SetColor(Gdiplus::Color::Blue);
    graphics.DrawLine(&myPen, 0, hight/2, width, hight/2);//画横坐标
}
BOOL GetClientRect(
  HWND hWnd, // 窗口句柄
  LPRECT lpRect // 客户区坐标
  );//该函数获取窗口客户区的坐标。客户区坐标指定客户区的左上角和右下角。由于客户区坐标是相对窗口客户区的左上角而言的,因此左上角坐标为(0,0)
BOOL GetWindowRect(HWND hWnd,LPRECT lpRect);//该函数返回指定窗口的边框矩形的尺寸。该尺寸以相对于屏幕坐标左上角的屏幕坐标给出。
BOOL ScreenToClient(HWND hWnd, LPPOINT lpPoint);//该函数把屏幕上指定点的屏幕坐标转换成用户坐标。


你可能感兴趣的:(GDI+做正弦曲线(获取窗口大小))