当前位置: 首页 > news >正文

微网站开发平台免费新手做电商哪个平台好

微网站开发平台免费,新手做电商哪个平台好,学校网站建设方案,互动营销平台视频参考:https://www.bilibili.com/video/BV1XTmqYSEtm/ 之前的程序不能退出,下面写关闭窗体的操作 PostQuitMessage 是 Windows API 中的一个函数,用于向当前线程的消息队列发送一个退出消息。其作用是请求应用程序退出消息循环,通常用于处…

视频参考:https://www.bilibili.com/video/BV1XTmqYSEtm/

之前的程序不能退出,下面写关闭窗体的操作
PostQuitMessage 是 Windows API 中的一个函数,用于向当前线程的消息队列发送一个退出消息。其作用是请求应用程序退出消息循环,通常用于处理应用程序的退出或关闭操作。
在这里插入图片描述

参数:
nExitCode:指定退出代码,通常是应用程序的退出状态码。这个值会传递给消息队列中的 WM_QUIT 消息,以便其他线程或系统得知退出时的状态。

当调用 PostQuitMessage 时,它会将一个 WM_QUIT 消息放入当前线程的消息队列。这个消息通常用于结束程序的消息循环。nExitCode 作为退出代码,会在 WM_QUIT 消息中作为一个参数传递。
应用程序的消息循环 (GetMessage 或 PeekMessage) 会检查消息队列,遇到 WM_QUIT 消息时就会退出消息循环,从而结束应用程序的执行。

通常,在窗口程序中,应用程序的消息循环会不断地获取并分发消息。当收到退出消息时,程序就会停止执行消息循环,退出应用程序。
在这里插入图片描述

上面代码收到退出消息之后直接break 没有对资源进行清理

  1. 窗口销毁:在程序退出之前,确保调用 DestroyWindow(hwnd) 来销毁创建的窗口。如果没有销毁,窗口所占用的资源(例如内存、GDI资源等)将得不到释放。
  2. 消息循环退出:在退出消息循环之前,应该确保通过 PostQuitMessage 或手动调用 DestroyWindow 销毁窗口及其资源。避免程序直接跳出循环而不进行清理。
  3. 注册类的清理:如果在程序中注册了自定义窗口类,确保在程序结束时调用 UnregisterClass 来注销窗口类。

清理后面再考虑

在这里插入图片描述

在 Windows GDI(图形设备接口)编程中,Backbuffer(背面缓冲区) 是一个临时的内存区域,用于存储绘制操作的内容,直到所有的渲染完成并准备好显示到屏幕上。使用双缓冲技术来避免屏幕闪烁(flickering)是常见的做法。

在这里插入图片描述

CreateDIBSection 是 Windows GDI 函数之一,用于创建设备独立位图(DIB)并返回一个 HBITMAP(位图句柄),其核心作用是分配内存并将图像数据存储在其中,可以用于绘制图形。它通常用于需要高效图像处理和绘制的场景,如游戏引擎、图形应用程序等。

// 这个函数用于重新调整 DIB(设备独立位图)大小
internal void Win32ResizeDIBSection(int width, int height) {// device independent bitmap(设备独立位图)// TODO: 进一步优化代码的健壮性// 可能的改进:先不释放,先尝试其他方法,再如果失败再释放。// TODO: 释放之前的 DIBSectionif (BitmapHandle) { // 如果位图句柄有效,释放之前创建的 DIBSectionDeleteObject(BitmapHandle); // 删除现有的位图对象}// 如果没有有效的设备上下文(BitmapDeviceContext),则创建一个if (!BitmapDeviceContext) {// TODO: 在某些特殊情况下是否需要重新创建这些对象BitmapDeviceContext =CreateCompatibleDC(0); // 创建一个与屏幕兼容的设备上下文}// 设置位图信息头(BITMAPINFOHEADER)BitmapInfo.bmiHeader.biSize = sizeof(BITMAPINFOHEADER); // 位图头大小BitmapInfo.bmiHeader.biWidth = width;   // 设置位图的宽度BitmapInfo.bmiHeader.biHeight = height; // 设置位图的高度BitmapInfo.bmiHeader.biPlanes = 1;      // 设置颜色平面数,通常为 1BitmapInfo.bmiHeader.biBitCount = 32; // 每像素的位数,这里为 32 位(即 RGBA)BitmapInfo.bmiHeader.biCompression = BI_RGB; // 无压缩,直接使用 RGB 颜色模式// 创建 DIBSection(设备独立位图)并返回句柄BitmapHandle =CreateDIBSection(BitmapDeviceContext, // 设备上下文,NULL 表示不绑定设备&BitmapInfo, // 位图信息,包括位图的大小、颜色深度等DIB_RGB_COLORS, // 使用 RGB 颜色类型&BitmapMemory, // 位图的内存指针,返回图像数据的指针NULL, // 内存映射文件句柄,NULL 表示不使用0);   // 偏移量,通常设置为 0// 释放设备上下文(BitmapDeviceContext)ReleaseDC(0, BitmapDeviceContext); // 释放设备上下文(不再需要继续使用)
}

// 这个函数用于将 DIBSection 绘制到窗口设备上下文
internal void Win32UpdateWindow(HDC DeviceContext, int X, int Y, int Width,int Height) {// 使用 StretchDIBits 将 DIBSection 绘制到设备上下文中StretchDIBits(DeviceContext, // 目标设备上下文(窗口或屏幕的设备上下文)X, Y, Width, Height, // 目标区域的 x, y 坐标及宽高X, Y, Width,Height, // 源区域的 x, y 坐标及宽高(此处源区域与目标区域相同)BitmapMemory,   // 位图内存指针,指向 DIBSection 数据&BitmapInfo,    // 位图信息,包含位图的大小、颜色等信息DIB_RGB_COLORS, // 颜色类型,使用 RGB 颜色SRCCOPY); // 使用 SRCCOPY 操作符进行拷贝(即源图像直接拷贝到目标区域)
}

DIB_RGB_COLORS(RGB 颜色)
当你使用 DIB_RGB_COLORS 时,颜色表条目包含的是 RGB 颜色值,即每个条目由红色(R)、绿色(G)和蓝色(B)三种颜色分量组成(通常是 8 位深度的分量)。这对于颜色深度较高的图像(如 24 位色或 32 位色)非常适用。

DIB_PAL_COLORS(调色板索引)
当使用 DIB_PAL_COLORS 时,颜色表条目通常是索引值,而不是具体的 RGB 值。这意味着每个条目对应一个调色板中的颜色(例如,8 位图像通常使用 256 色的调色板)。在绘制图像时,通过调色板索引来查找实际的颜色。

在这里插入图片描述

在这里插入图片描述

http://www.yayakq.cn/news/649047/

相关文章:

  • 网站怎么做免费推广方案设计用哪些网站
  • 石碣网站仿做政务移动门户网站建设方案
  • wordpress主题演示站点app代理推广平台
  • 十堰做网站的qq邮箱网页版登录
  • 自己用笔记本做网站做百度商桥网站
  • 诸城建设局网站用户体验好的网站
  • 临潼城市建设局网站分类网站 模板
  • 网站菜单 网站导航wordpress+媒体路径
  • 天津市建设工程定额网站常见的网络营销与推广的方式
  • 门户网站制作的公司网站建设v
  • 北京上海网站建设公司怎么生成域名做网站
  • 珠海网站设计公司公司网站还有用吗
  • 完本小说做多的网站wordpress 什么值得买 主题
  • 零起飞网站建设工作室国内新闻
  • 电子商务网站建设 名词解释如何注销网站备案
  • 绍兴网站seo外包加工网手工活
  • 热e国产-网站正在建设中-手机版汉邦未来网站建设
  • 做网站app怎么赚钱建设学校网站前的需求分析
  • 青岛网站建设与推广跨境电商是不是坑
  • 域名搭建网站优设网视频剪辑教程
  • 优化网站排名如何有赞商城官网登录
  • 网站建设需求调研报告青岛网站建设开发外包
  • 宣武做网站网站开发属于软件设计嘛
  • 利用网站做蜘蛛池平陆网站建设
  • 西安市高新区建设规划局网站网页制作公司的服务
  • 网站建设费用差异大中国网站制作 第一个
  • 即速应用小程序官网做一网站优化要多少钱
  • 做便民工具网站网络科技有限公司简介
  • 网站建设论文附录怎么写软件定制开发的发展前景
  • 网站建设个人年终总结wordpress手机登录