Windows程序设计——画圆

简介: Windows程序设计——画圆

代码如下:


#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);
}


相关文章
|
8月前
|
安全 Ubuntu iOS开发
Nessus Professional 10.10 Auto Installer for Windows - Nessus 自动化安装程序
Nessus Professional 10.10 Auto Installer for Windows - Nessus 自动化安装程序
305 3
Nessus Professional 10.10 Auto Installer for Windows - Nessus 自动化安装程序
|
11月前
|
Windows
Windows下版本控制器(SVN)-验证是否安装成功+配置版本库+启动服务器端程序
Windows下版本控制器(SVN)-验证是否安装成功+配置版本库+启动服务器端程序
316 2
|
Windows
Windows下版本控制器(SVN)-启动服务器端程序
Windows下版本控制器(SVN)-启动服务器端程序
568 4
|
10月前
|
Ubuntu Linux Windows
如何在Ubuntu系统中安装Wine,借此来运行Windows程序
熟悉的登录画面出现,在Ubuntu系统中扫描登录微信程序。
|
10月前
|
Unix Linux 编译器
解决在Windows平台上运行Golang程序时出现的syscall.SIGUSR1未定义错误。
通过这种结构,你的代码既可以在支持 SIGUSR1 信号的系统上正常工作,又可以在不支持这些信号的 Windows 系统上编译通过,确保跨平台的兼容性和功能的完整性。
381 0
|
安全 Devops 测试技术
AppSpider 7.5.018 for Windows - Web 应用程序安全测试
AppSpider 7.5.018 for Windows - Web 应用程序安全测试
252 0
AppSpider 7.5.018 for Windows - Web 应用程序安全测试
|
安全 JavaScript Java
AppSpider Pro 7.5.015 for Windows - Web 应用程序安全测试
AppSpider Pro 7.5.015 for Windows - Web 应用程序安全测试
275 12
AppSpider Pro 7.5.015 for Windows - Web 应用程序安全测试
Windows程序的数字签名证书怎么申请
Windows程序的数字签名证书申请流程包括:准备企业资料(营业执照、税务登记证等),提交申请表及企业资料。经过初审、实名认证和二审后,等待1-5个工作日审核结果。审核通过后,CA机构颁发证书并通过邮件或邮寄方式发送。收到证书后按指南安装并使用签名工具对程序进行数字签名,确保软件完整性和可信度。注意证书有效期、管理和兼容性问题。
|
自然语言处理 安全 测试技术
HCL AppScan Standard 10.8.0 (Windows) - Web 应用程序安全测试
HCL AppScan Standard 10.8.0 (Windows) - Web 应用程序安全测试
1016 0
HCL AppScan Standard 10.8.0 (Windows) - Web 应用程序安全测试
|
安全 API C#
C# 如何让程序后台进程不被Windows任务管理器强制结束
C# 如何让程序后台进程不被Windows任务管理器强制结束
956 0