SDK一个简单的GDI程序(就是画图)

/**********************************
*gdi.cpp最简单的GDI程序
***********************************/
/*头文件*/
#include<windows.h>
#pragma comment(lib,"Gdi32.lib")
/*函数声明*/
VOID GdiOut(HDC hdc);

//WinMain
int WINAPI WinMain(HINSTANCE hinstance,
   HINSTANCE hpPrevInstance,
   LPSTR lpCmdLine,
   int nCmdShow
   )
{
 HDC hdc = GetDC(NULL);
 GdiOut(hdc);
 ReleaseDC(NULL,hdc);
 return 0;
}
/***********************************
*VOID GdiOut(HDC hdc)
*功能:演示GDI基本功能的使用
*参数:HDC hdc,用于显示所绘制的图像
***********************************/
VOID GdiOut(HDC hdc)
{
 HPEN hpen,hpenOld;
 HBRUSH hbrush,hbrushOld;
 //初始化的颜色
 BYTE bRed = 0;
 BYTE bGreen = 0;
 BYTE bBlue = 0;
 //画笔的颜色——正黑
 COLORREF cPen = RGB(bRed,bGreen,bBlue);
 //从 COLORREF 类型拆解颜色,设置画笔刷的颜色,这里为紫偏蓝
    COLORREF cBrush = RGB(233,GetGValue(cPen),255);
 //创建画笔
 hpen = CreatePen(PS_SOLID,10,cPen);
 //创建画笔刷
 hbrush = CreateSolidBrush(cBrush);
 //为DC选择画笔和画笔刷
 //WINGDIAPI HGDIOBJ WINAPI SelectObject(IN HDC, IN HGDIOBJ);
 hpenOld = (struct HPEN__ *)SelectObject(hdc,hpen);
 hbrushOld = (struct HBRUSH__ *)SelectObject(hdc,hbrush);
 //绘制线条
 LineTo(hdc,500,500);
 //使用初始的画笔
    SelectObject(hdc,hpenOld);
 //绘制矩形
 Rectangle(hdc, 200, 20, 500, 500);
 //释放资源
 DeleteObject(hpen);
 SelectObject(hdc,hbrush);
 DeleteObject(hbrush);
}

你可能感兴趣的:(SDKGDI程序画图)