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

10月哪个网站做电影票活动完成网站的建设工作内容

10月哪个网站做电影票活动,完成网站的建设工作内容,检测WordPress主题的网站,网络营销方式落后的表现文章目录 环境使用库基础概念句柄 程序的入口创建窗口定义窗口类注册窗口类创建窗口 完整代码运行效果 环境 使用的是VSCode MinGW#xff1b; 使用库 我们使用windows.h库来实现图形化界面。 头文件如下#xff1a; #include windows.hwindows.h是 Windows 操作… 文章目录 环境使用库基础概念句柄 程序的入口创建窗口定义窗口类注册窗口类创建窗口 完整代码运行效果 环境 使用的是VSCode MinGW 使用库 我们使用windows.h库来实现图形化界面。 头文件如下 #include windows.hwindows.h是 Windows 操作系统的核心头文件它提供了许多与 Windows API 相关的功能和宏定义。 基础概念 句柄 首先我们来了解一个概念叫句柄。句柄是一种表示、访问或操作资源的引用或标识符。它可以被视为对象或数据结构的抽象表示。简单来说句柄是指向资源的指针。 在不同的上下文中句柄可以表示多种类型的资源比如说内存句柄、文件句柄、窗口句柄等等许多许多。 句柄通常由操作系统提供和管理开发者使用句柄来引用和操作资源而无需了解底层实现的具体细节。句柄的具体实现方式因操作系统而异可能是一个整数、一个指针或其他形式的标识符。 使用句柄的好处之一是它提供了一种封装和抽象资源的方式隐藏了底层实现细节使得资源的使用更安全和高效。另外句柄也使得多个程序或线程可以共享资源提高了系统资源的利用率。 程序的入口 我们之前写的C程序控制台入口都是int main(void){}但是当我们使用windows.h库想要创建图形界面的时候就不可以了应该使用如下程序入口 int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) { }int WINAPI WinMain是Windows程序的入口函数。下面对WinMain函数的参数进行解释 HINSTANCE hInstance当前应用程序的实例句柄。实例是指正在运行的应用程序的唯一标识。这个参数在Windows程序中常常用来标识应用程序以及与其他应用程序进行交互。HINSTANCE hPrevInstance前一个应用程序的实例句柄。在Windows中已经被弃用现在始终为NULL。LPSTR lpCmdLime命令行参数。在Windows程序中可以通过命令行传递额外的参数。这个参数是一个指向以空字符终止的字符串的指针其中包含了命令行参数的文本。int nCmdShow窗口的显示状态。它指示窗口在初始化后应如何显示比如是否最大化、最小化或正常显示。nCmdShow参数可以采用以下常用值 SW_SHOW显示窗口。SW_HIDE隐藏窗口。SW_MAXIMIZE最大化窗口。SW_MINIMIZE最小化窗口。 创建窗口 定义窗口类 通过窗口类我们可以实现自定义的窗口行为和外观。 我们首先需要定义一个WNDCLASS结构体变量。 WNDCLASS wc {0};如上我们定义了一个名为wc的WNDCLASS结构体变量并初始化所有成员为0。使用{0}可以将结构体中的所有成员都设置为默认值。 然后我们需要将窗口过程函数的地址赋给WNDCLASS结构体变量的lpfnWndProc成员。窗口过程函数是窗口消息的处理函数代码如下。 wc.lpfnWndProc WndProc;然后将当前应用程序的实例句柄赋给WNDCLASS结构体变量的hInstance成员。实例句柄用于标识当前运行的应用程序的实例。 wc.hInstance hInstance;接着将背景刷子的句柄赋给WNDCLASS结构体变量的hbrBackground成员。 wc.hbrBackground (HBRUSH)(COLOR_BACKGROUND);在这里使用了预定义的COLOR_BACKGROUND作为背景颜色通过强制类型转换将其转换为HBRUSH类型。 最后我们将窗口名赋给WNDCLASS结构体变量的lpszClassName成员。 wc.lpszClassName MyWinClass;这里我们将窗口类的名称被设置为MyWinClass。 完整代码如下 // 定义窗口类WNDCLASS wc {0};wc.lpfnWndProc WndProc;wc.hInstance hInstance;wc.hbrBackground (HBRUSH)(COLOR_BACKGROUND);wc.lpszClassName MyWinClass;注册窗口类 我们需要使用RegisterClass函数来注册窗口类该函数需要一个参数该参数指向包含窗口类信息的WNDCLASS结构体的指针。将窗口类信息传递给函数以便系统知道如何处理后续创建的窗口。 RegisterClass(wc)同时我们应该检查RegisterClass函数的返回值是否为0也就是是否注册窗口类失败。如果注册失败返回值为0。 // 注册窗口类 if (!RegisterClass(wc)) {MessageBox(NULL, 窗口注册失败, 错误, MB_ICONERROR);return 1; }代码中如果窗口类注册失败则弹出一个消息框显示错误信息。 MessageBox方法的第一个参数NULL表示没有父窗口第二个参数是消息框的内容第三个参数是消息框的标题MB_ICONERROR表示使用错误图标。 最后return 1作为程序的退出码。这个值将被返回给操作系统表示程序的执行状态。 通过注册窗口类我们告知操作系统如何处理后续创建的窗口。如果注册窗口类失败这通常是因为系统资源不足或窗口类信息错误导致无法创建窗口。 创建窗口 我们可以通过CreateWindow()方法创建一个窗口实例并将其句柄保存在变量中。 // 创建窗口 HWND hWnd CreateWindow(MyWinClass, 我的窗口, WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, CW_USEDEFAULT, 800, 600,NULL, NULL, hInstance, NULL);HWND是窗口句柄用于标识窗口。 完整代码 #include windows.h// 声明窗口过程函数 LRESULT CALLBACK WndProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam);int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) {// 定义窗口类WNDCLASS wc {0};wc.lpfnWndProc WndProc;wc.hInstance hInstance;wc.hbrBackground (HBRUSH)(COLOR_BACKGROUND);wc.lpszClassName MyWinClass;// 注册窗口类if (!RegisterClass(wc)) {MessageBox(NULL, 窗口注册失败, 错误, MB_ICONERROR);return 1;}// 创建窗口HWND hWnd CreateWindow(MyWinClass, 我的窗口, WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, CW_USEDEFAULT, 800, 600,NULL, NULL, hInstance, NULL);if (!hWnd) {MessageBox(NULL, 窗口创建失败, 错误, MB_ICONERROR);return 1;}// 显示窗口ShowWindow(hWnd, nCmdShow);UpdateWindow(hWnd);// 消息循环MSG msg;while (GetMessage(msg, NULL, 0, 0)) {TranslateMessage(msg);DispatchMessage(msg);}return msg.wParam; }// 窗口过程函数 LRESULT CALLBACK WndProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam) {switch (msg) {case WM_PAINT: {PAINTSTRUCT ps;HDC hdc BeginPaint(hWnd, ps);// 设置字体和背景颜色HFONT hFont CreateFont(30, 0, 0, 0, FW_NORMAL, FALSE, FALSE, FALSE, DEFAULT_CHARSET, OUT_DEFAULT_PRECIS,CLIP_DEFAULT_PRECIS, DEFAULT_QUALITY, DEFAULT_PITCH | FF_SWISS, Arial);HFONT hOldFont (HFONT)SelectObject(hdc, hFont);SetTextColor(hdc, RGB(0, 0, 0));SetBkColor(hdc, RGB(255, 255, 255));// 绘制文本RECT rect;GetClientRect(hWnd, rect);DrawText(hdc, Hello World, -1, rect, DT_CENTER | DT_VCENTER | DT_SINGLELINE);SelectObject(hdc, hOldFont);DeleteObject(hFont);EndPaint(hWnd, ps);break;}case WM_DESTROY:PostQuitMessage(0);break;default:return DefWindowProc(hWnd, msg, wParam, lParam);}return 0; }运行效果 最终我们代码的完整运行效果如图所示。
http://www.hkea.cn/news/14477401/

相关文章:

  • 做名片的网站视频制作网站推荐
  • 网站建设的重要指标十堰做网站
  • 装饰网站建设公司网站建设我们的优势
  • 建外贸网站有效果吗连云港企业网站制作
  • 旅游网站规划设计与建设公司logo设计模板
  • 30天网站建设实录下载青浦做网站
  • 迅速百度网站自然排名建设小辣猫的网站
  • 江苏省建设厅网站查询网站收录很慢
  • 网站宣传怎么做小程序商城图片素材
  • 义乌网站建设技术托管网络推广专员是干什么的
  • 郑州网站APP网站视频弹窗广告代码
  • 空间站对接做网站的叫什么职位
  • 常熟网站建设专业的公司wordpress next posts link
  • 推广 电子商务网站建设济南传承网站建设李聪
  • 网络推广网站怎么做互联网巨头是哪几家
  • 网站开发的功能需求文档模板项目推广平台有哪些
  • 一些大型网站的服务器需要租用多大的带宽网站对网络营销的作用
  • 网站公司建设公司seo成都培训
  • 网站开发vsc网站开发公司傻瓜建网站
  • 网页网站自做全搞定建一个简单的公司官网需要多少钱
  • 网站建设中的策略家装设计网页版
  • 萍乡企业网站建设做网站的注意点
  • 三合一网站建设平台职业生涯规划大赛成长赛道
  • 网站后台邮箱配置徐州网站建设xzwzjs
  • 做网站前台有什么要求wordpress中文文章排版插件
  • 烟台建设企业网站wordpress 用户 函数
  • 成都网站建设方案服务网上学室内设计哪个平台好
  • 网站设计之路哈尔滨seo推广公司
  • 阜阳网站建设电话网站 必须有的功能
  • 网站是否开启gzip工商天眼查官网