最近又把《windows程序开发 第5版》重新拾起来了,之前也学了一段时间,不过总是坚持不下去。呵呵,感觉太枯燥,一个很简单的功能要写一堆代码。不过要想了解底层的东西,使用C开发Windows程序是个不错的选择。
这两天看到了GDI部分,今日就尝试使用C语言绘制个矩形。
1.程序原理:使用C调用Windows的GDI函数,并使用定时器实现了动态的效果。
2.程序截图
3.程序使用vc6开发。
4.源码截图
- VOID CALLBACK myTimerProc ( HWND hwnd, UINT message, UINT iTimerID, DWORD dwTime)
- {
- HDC hdc = GetDC(hwnd);
- while(x<160)
- {
- SetPixel(hdc, x, 60, RGB(255,0,0));
- x++;
- setPos(hwnd, x, 60);
- if(x%3==0)
- break;
- }
- if(x==160)
- {
- while(y<200)
- {
- SetPixel(hdc, x, y, RGB(255,0,0));
- y++;
- setPos(hwnd, x, y);
- if(y%3==0)
- break;
- }
- }
- if(x==160 && y==200)
- {
- while(z>20)
- {
- SetPixel(hdc, z, y, RGB(255,0,0));
- z--;
- setPos(hwnd, z, y);
- if(z%3==0)
- break;
- }
- }
- if(x==160 && y==200 && z==20)
- {
- while(k>60)
- {
- SetPixel(hdc, 20, k, RGB(255,0,0));
- k--;
- setPos(hwnd, 20, k);
- if(k%3==0)
- {
- break;
- }
- }
- }
- ReleaseDC(hwnd, hdc);
- }
源码链接如下,感兴趣可以下载。
欢迎大家批评指正。
转载于:https://blog.51cto.com/shane/962644