c语言编写窗口,c窗口程序设计

  c语言编写窗口,c窗口程序设计

  个人主页:@电脑魔术师作者简介:CSDN内容合伙人,全栈领域优质创作者。

  更新时间:2022年4月18日

  visual studio 2022编译器打开项目流程:

  创建主函数

  专注!必须设置,否则在设置类的配置回调函数中不允许命名为常量字符,就会报错!

  创建一个文件,并把代码#includewindows.h

  #定义PageSizex 500 //窗口宽度

  #定义页面大小600 //窗口长度

  LRESULT回调回调(HWND hWnd,UINT nMsg,WPARAM wParam,LPARAM LPARAM);//声明回调函数

  //WINAPI:调用约定,调用约定,主要是参数的堆栈顺序,这个堆栈空间更干净,

  //其他代码中_ __stdcall,APIENTRY都一样,可以去定义查看,

  //

  //Handle:一个数字;作用:窗口的独特标志。

  int WINAPI WinMain(

  Hincehinstance,//当前实例句柄

  HinceHPReinstance,//上一个实例的句柄

  Lptr IP cmdline,//传递给系统的命令行参数

  IntMDShow//默认值为1,指定如何打开窗口:隐藏、最大和最小显示。

  )

  {

  //初始化窗口类

  WNDCLASSEX wc//窗口类extra和wndclass扩展

  HWND hWnd//窗口句柄窗口的句柄

  味精味精;//信息接受消息

  //配置窗口类

  WC . cbclsextra=0;//窗口类的额外空间

  WC . CB size=sizeof(WNDCLASSEX);//类的结构大小

  WC . h instance=h instance;//当前窗口实例句柄

  wc.hCursor=NULL//系统游标loadcursor (NULL,IDC _ hand)可以自己加载,不需要将游标设置为NULL;

  WC . cbwndextra=0;//窗口的额外空间

  wc.hIcon=NULL//图标不需要设置为NULL。可以将NULL改为系统默认图标LoadIcon(NULL,IDI _错误);

  WC . HBR background=(HBRUSH)COLOR _ WINDOW;//更改背景的颜色

  wc.hIconSm=NULL//小图标可以自己加载系统图标Loadicon (NULL,idi _ error)而不用设置为NULL;

  wc.lpfnWndProc=CallBack//回调函数名

  WC . lpsz class name= first win ;//名称不能重复!对于操作系统来说。

  wc.lpszMenuName=NULL//菜单名不需要设置为空

  WC . style=CS _ HREDRAW CS _ VREDRAW;//Window类样式:hrizons redaw vertical redaw垂直刷新和水平刷新

  //12个成员中有一个不行!

  //注册窗口对象

  ///RegisterClassEx( wc)返回数据类型ATOM unsigned short。注册成功返回非0,失败返回0。

  if (0==RegisterClassEx( wc))

  {

  int a=GetLastError();//函数生成相应的错误代码。您可以使用工具查询注册失败的原因。

  返回0;

  };

  //创建窗口lp是指针,意思是指针英文:pointer

  hWnd=CreateWindowEx(

  WS_EX_TOPMOST,//dwExStyle窗口附加属性:显示在顶层。

   FirstWin ,//lpClassName窗口类的名称,对于系统来说,和以前一样。

  我的第一个窗口,//由//lpWindowName窗口显示的名称

  WS_OVERLAPPEDWINDOW,//dwStyle窗口创建样式可以通过一个或多个连接。

  100,//x指定窗口显示的x坐标,相对于桌面。

  100,//y指定窗口的显示y坐标,相对于桌面。

  PageSizex,//n窗口宽度

  PageSizey,//n高度窗口的n高度

  Null,hwndparent辅助窗口的句柄

  NULL,//hMenu窗口菜单

  Hince,//Hince当前hInstance,//hInstance

  NULL //lpParam

  );

  If (NULL==hWnd) //窗口句柄窗口唯一标识

  {

  返回0;

  }

  //显示窗口

  ShowWindow(hWnd,ncmdshow);//指定窗口显示模式,此处为1。标准显示窗口样式同上。

  //Hidden返回0,visual返回非0

  //获取消息

  while (GetMessage(

  MSg,//指向信息体的指针

  NULL,//指定窗口句柄。选择处理该窗口的消息。NULL和非NULL的区别,所有句柄都被接受。

  0,0 //设置消息处理的范围。这是全部产品。

  ))

  {

  翻译消息(mSg);//翻译消息,将关键虚拟消息转换成字符消息,发送到调用线程的信息队列,

  DispatchMessage(消息);//将消息分发给系统,系统会调用我们的回调函数callback(过程函数)

  //信息类型:标准消息命令消息通知消息自定义消息

  }

  返回0;

  }

  //LRESULT处理消息生成的有符号值回调调用约定。

  LRESULT回调回调(

  Hwndwnd,//窗口句柄

  UINT nMsg,//消息ID UIMT实际上是一个无符号INT。

  Ramwparam,LPARAM LPARAM//每条消息携带的两个数据‘word’数据类型和‘long’数据类型

  )

  {

  PAINTSTRUCT pst

  HDC hDC

  开关(nMsg)

  {

  案例WM_DESTROY:

  PostQuitMessage(0);//点击窗口关闭键,Getmessage函数返回0,停止信息接收循环。

  //点击分叉会通过WM _ Close-WM _ Destiny-WM _ Quit处理消息。

  打破;

  }

  返回DefWindowProc(hWnd,nMsg,wParam,lParam);//默认系统处理其他消息

  //保持系统的一致性

  }ctrl F5运行!效果如下

  我的第一个窗口创建成功了!

  在这里,你对添加、删除和检查有什么疑问吗?

  欢迎私人博主提问。博主们会尽力解答你的疑惑!

  如果对你有帮助,你的赞就是对博主最大的支持!电脑魔术师原创作品,

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

相关文章阅读

  • c语言调用退出函数 c语言退出整个程序怎么写
  • c语言中怎么给函数初始化 c语言的初始化语句
  • c语言编写函数计算平均值 c语言求平均函数
  • 详解c语言中的字符串数组是什么,详解c语言中的字符串数组结构,详解C语言中的字符串数组
  • 表达式求值c++实现,c语言实现表达式求值
  • 看懂c语言基本语法,C语言详解,C语言的基本语法详解
  • 用c语言实现快速排序算法,排序算法设计与实现快速排序C语言,C语言实现快速排序算法实例
  • 深入解析c语言中函数指针的定义与使用方法,深入解析c语言中函数指针的定义与使用情况,深入解析C语言中函数指针的定义与使用
  • 描述E-R图,E-R图举例,关于C语言中E-R图的详解
  • 折半查找法C语言,折半查找算法(算法设计题)
  • 折半查找法C语言,c语言折半法查找数据,C语言实现折半查找法(二分法)
  • 扫雷小游戏c++代码设计,c语言扫雷游戏源代码,C语言实现扫雷小游戏详细代码
  • 怎样统计程序代码行数,C语言统计行数,C#程序员统计自己的代码行数
  • 基于c语言的贪吃蛇游戏程序设计,用c语言编写贪吃蛇游戏程序,C语言实现简单的贪吃蛇游戏
  • 图的两种遍历算法,图的遍历算法代码c语言,Python算法之图的遍历
  • 留言与评论(共有 条评论)
       
    验证码: