写一个基于Windows API简单窗口的程序

Window API程序设计(窗口创建)

目的

1、了解 windows操作系统应用程序开发的基本概念,win32 API函数、消息与事件驱动;

2、掌握WinMain函数的基本框架,窗口定义、窗口创建、消息循环及窗口过程函数;

步骤

一、窗口的创建

二、消息循环

三、过程函数

四、窗口程序实例

#include <windows.h>
LRESULT CALLBACK Message(HWND hWnd, UINT M, WPARAM wParam,/*16位*/ LPARAM lParam/*32位*/);
//1)定义WinMain函数
int WINAPI WinMain(HINSTANCE hInstance, //应用程序的入口
 HINSTANCE hPrevInstance,
 LPSTR lpCmdLine,
 int nCmdShow      //窗口显示的样式, 最大化,最小化
  {
 //2)设计窗口类WNDCLASS(给成员变量赋值)
 WNDCLASS wd;
 wd.cbClsExtra = 0;
 wd.cbWndExtra = 0;
 wd.hbrBackground = CreateSolidBrush(RGB(0, 0, 0));
 wd.hCursor = LoadCursor(NULL, IDC_HAND);
 wd.hIcon = LoadIcon(NULL, IDI_APPLICATION);
 wd.hInstance = hInstance;         //告诉主窗口正在使用的是哪个实例。
 wd.lpfnWndProc = Message;         //调用消息处理函数
 wd.lpszClassName = TEXT("zuoxiwei");          //类的名字
 wd.lpszMenuName = NULL;          //菜单
 wd.style = CS_HREDRAW | CS_VREDRAW;
 //3)注册窗口类
 RegisterClass(&wd);
 //4)窗口类
 HWND hWnd = CreateWindow(TEXT("zuoxiwei"), TEXT("zuoxiwei"),
  WS_OVERLAPPEDWINDOW,
  500, 200, 600, 400,
  NULL, NULL, hInstance, NULL);      //父窗口的句柄、主菜单的句柄、应用程序实例句柄
                //5)显示和更新窗口
 ShowWindow(hWnd, SW_SHOWNORMAL);
 UpdateWindow(hWnd);
 //5)消息循环
 MSG msg;
 //如果接受到WM_QUIT, 返回0, 退出; 如果出错,不退出
 while (GetMessage(&msg, NULL, 0, 0))
 {
  TranslateMessage(&msg);//翻译
  DispatchMessage(&msg);//给操作系统分发消息
 }
 return msg.wParam;
}
//6)处理消息函数,处理消息
LRESULT CALLBACK Message(HWND hWnd, UINT M, WPARAM wParam, LPARAM lParam)
{
switch (M) {
 case WM_RBUTTONDOWN:                                  //单击鼠标右键
  MessageBox(hWnd, TEXT("鼠标点击"), TEXT("确定"), MB_OK);
  break;
  case WM_CLOSE: {           //关闭
  if (IDYES == MessageBox(hWnd, TEXT("是否真的结束?"), TEXT("是否关闭"), MB_YESNO))
   DestroyWindow(hWnd);
  break;
 }
 case WM_PAINT: {                           //绘图
  PAINTSTRUCT ps;
  HDC dc = BeginPaint(hWnd, &ps);
  EndPaint(hWnd, &ps);
  break;
 }
 case WM_DESTROY:
  PostQuitMessage(0); //WM_QUIT, 给主函数返回 msg.wParam
  break;
 default:
  return DefWindowProc(hWnd, M, wParam, lParam);
   }
 return 0;
}

   



鼠标点击效果如下
在这里插入图片描述
在这里插入图片描述
点击键盘按键

在这里插入图片描述
点击关闭按钮
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/iostreamhvoid/article/details/108793934