代码如下:

#include<windows.h>
#include<stdlib.h>
#include<string.h>
long WINAPI WndProc
(HWND hWnd,UINT iMessage,UINT wParam,LONG lParam
);
BOOL InitWindowsClass(HINSTANCE hInstance);
BOOL InitWindows(HINSTANCE hInstance, int nCmdShow);
HWND hWndMain;
int WINAPI WinMain                //主函数
(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpCmdLine,int nCmdShow
)
{MSG Message;if (!InitWindowsClass(hInstance))        return FALSE;if (!InitWindows(hInstance, nCmdShow))    return FALSE;while (GetMessage(&Message, 0, 0, 0))    //消息循环{TranslateMessage(&Message);DispatchMessage(&Message);}return Message.wParam;
}
long WINAPI WndProc(HWND hWnd, UINT iMessage,UINT wParam, LONG lParam) {HDC hDC;          //定义指向设备的句柄HBRUSH hBrush;      //定义指向画刷的句柄HPEN hPen;        //定义指向画笔的句柄PAINTSTRUCT PtStr;//定义指向包含绘图信息的结构体变量switch (iMessage)                      //处理消息{case WM_PAINT:                    //处理绘图消息hDC = BeginPaint(hWnd, &PtStr);SetMapMode(hDC, MM_ANISOTROPIC);      //设置映像模式hPen = (HPEN)GetStockObject(BLACK_PEN);    //黑色画笔hBrush = (HBRUSH)GetStockObject(DKGRAY_BRUSH); //画刷SelectObject(hDC, hBrush);  //选择画刷SelectObject(hDC, hPen);      //选择画笔RoundRect(hDC, 50, 120, 100, 200, 15, 15); //绘制圆角矩形hBrush = (HBRUSH)GetStockObject(LTGRAY_BRUSH);  //采用亮灰色画刷SelectObject(hDC, hBrush);        //选择画刷Ellipse(hDC, 150, 50, 200, 150);       //绘制椭圆hBrush = (HBRUSH)GetStockObject(HOLLOW_BRUSH); //虚画刷SelectObject(hDC, hBrush);        //选择画刷Pie(hDC, 250, 50, 300, 100, 250, 50, 300, 50);      //绘制饼形EndPaint(hWnd, &PtStr);      //结束绘图return 0;case WM_DESTROY:                 //结束应用程序PostQuitMessage(0);    return 0;default:                    //其他消息处理程序return(DefWindowProc(hWnd, iMessage, wParam, lParam));}
}
BOOL InitWindows(HINSTANCE hInstance, int nCmdShow)//初始化窗口
{HWND hWnd;hWnd = CreateWindow("WinFill",  //生成窗口"填充示例程序",WS_OVERLAPPEDWINDOW,CW_USEDEFAULT,0,CW_USEDEFAULT,0,NULL,NULL,hInstance,NULL);if (!hWnd)    return FALSE;hWndMain = hWnd;ShowWindow(hWnd, nCmdShow);    //显示窗口UpdateWindow(hWnd);return TRUE;
}
BOOL InitWindowsClass(HINSTANCE hInstance)    //定义窗口类
{WNDCLASS WndClass;WndClass.cbClsExtra = 0;WndClass.cbWndExtra = 0;WndClass.hbrBackground = (HBRUSH)(GetStockObject(WHITE_BRUSH));WndClass.hCursor = LoadCursor(NULL, IDC_ARROW);WndClass.hIcon = LoadIcon(NULL, "END");WndClass.hInstance = hInstance;WndClass.lpfnWndProc = WndProc;WndClass.lpszClassName = "WinFill";WndClass.lpszMenuName = NULL;WndClass.style = CS_HREDRAW | CS_VREDRAW;return RegisterClass(&WndClass);WndClass.hIcon = LoadIcon(NULL, "END");WndClass.hInstance = hInstance;WndClass.lpfnWndProc = WndProc;WndClass.lpszClassName = "WinFill";WndClass.lpszMenuName = NULL;WndClass.style = CS_HREDRAW | CS_VREDRAW;return RegisterClass(&WndClass);
}

Windows程序设计——画圆相关推荐

  1. Windows程序设计--画几何图形

    常用的几何图形有以下几种: 直角矩形:Rectangle 椭圆 :Ellipse 圆角矩形:RoundRect 椭圆周上的弧,两端以弦连接:Chord 椭圆上的饼图:Pie 多边形:Polygon 多 ...

  2. Windows程序设计——Ellipse函数画圆及不用Windows自带的画椭圆函数画椭圆

    Ellipse函数的用法 函数功能:该函数用于画一个椭圆,椭圆的中心是限定矩形的中心,使用当前画笔画椭圆,用当前的画刷填充椭圆. 函数原型:BOOL Ellipse(HDC hdc, int nLef ...

  3. Windows下并发地画圆和画方

    hust操作系统原理实验:4.5(实验目的:熟悉Window线程创建过程)在windows环境下,利用高级语言编程环境(限定为VS环境或VC环境)调用CreateThread函数实现"并发地 ...

  4. [渝粤教育] 中国地质大学 Windows程序设计 复习题 (2)

    <Windows程序设计>模拟题 一单选题 1.所有的Windows应用程序都是由()驱动的. A.事件 B.消息 C.命令 D.菜单 2.一般应用程序不会派生自己的()类. A.主框架 ...

  5. MFC Windows程序设计 读书笔记2

    Windows中负责图形输出的是Graphics Device Interface(图形设备接口),或称GDI.本节主要讲述CDC类和它的继承类,并介绍三种最常用的GDI基本元素,画笔.画刷.和字体, ...

  6. 用python的turtle画圆-怎么用python画圆

    python中内置了许多第三方库,来帮助它完成各种功能. Turtle库就是Python语言中一个很流行的绘制图像的函数库(推荐学习:Python视频教程) Turtl库用于绘制线.圆.其他形状或者文 ...

  7. C程序多线程同时画圆画方

    程序 #include<stdio.h> #include<math.h> #include<Windows.h> #include <graphics.h& ...

  8. html画圆中有个正方形,这样画圆内接正方形,非常简单!

    原标题:这样画圆内接正方形,非常简单! 作为一名数学老师,想必都为如何制作教学课件而发愁,其实现在有一款专业的课件制作工具,老师用它可以制作教学课件.它就是几何画板,可以绘制出很多几何图形,也可以由一 ...

  9. MATLAB飞机大战第二版,windows程序设计——飞机大战札记(单文档文件登陆界面)...

    windows程序设计--飞机大战笔记(单文档文件登陆界面) //2015/07/21 /by xbw/// /环境 VS 2013 飞机大战做的差不多了,闲来无事加点高大上的东西,关于单文档的登陆界 ...

  10. 《Windows程序设计》第三章学习心得(1)|图解消息机制

    注释:文章转载自如鹏网论坛,版权归原作者所有. 为了绘制下面那张所谓"Windows消息循环流程图",忙活了一下午!先给表扬一下自己(吼吼~画得还蛮好看的嘛!),再泼桶冷水(呃~乱 ...

最新文章

  1. java 文件 缓冲区大小_Java web 中文件下载遇到的缓冲大小问题
  2. 【java基础】POJO和JavaBean的区别
  3. nginx学习七 高级数据结构之动态数组ngx_array_t
  4. Android开发--TableLayout的应用
  5. mvc 404错误 php,java - springmvc 请求无法到达controller,出现404错误
  6. 【英语学习】【WOTD】raddled 释义/词源/示例
  7. 1天暴涨1300亿!中国移动最不争气的儿子,被王濛救活了?
  8. 内部排序算法:堆排序
  9. jsp引进的js 显示404_【梅园大讲堂微课堂】Get超级大招!上海人才引进云申报权威解读来了...
  10. 操作系统课设 Nachos 实验四、五:Nachos 的文件系统、扩展 Nachos 的文件系统
  11. IP SAN与IB SAN
  12. PCBLayout相关注意事项和常见问题
  13. 笔记本电脑进入BIOS设置快捷键大全
  14. 几种混沌系统混沌模型
  15. c语言mac小游戏,Mac自带小游戏怎么玩以打发空闲时间
  16. 阿里云ECS添加公网IPV6
  17. Laravel OAuth2 (二) ---配置与数据库设计
  18. 大疆飞行模拟器 下载、安装及使用教程
  19. linux查看气质系统文件命令,气质_ITPUB博客
  20. 【C语言学习笔记】《C程序设计语言》读后感

热门文章

  1. 计算机网络管理的应用,计算机网络管理技术及应用
  2. linux图形界面漏洞,ManageEngine DesktopCentral任意文件上传漏洞(CVE-2014-5007)
  3. python selenium 弹出框定位_selenium弹框元素定位-冻结界面
  4. 【系列二之图像处理系列】波形处理(2)
  5. MySQL(21)-----数据库事务
  6. HDU 3466 Proud Merchants 带有限制的01背包问题
  7. c# 盖尔-沙普利算法的改进
  8. spark记录(6)SparkCore的调优之开发调优
  9. Django实现websocket完成实时通讯,聊天室,在线客服等
  10. C++引用之引用的使用