门户网站开发需求文档软件外包app

news/2025/9/22 15:30:20/文章来源:
门户网站开发需求文档,软件外包app,青岛网站建设公司哪家好,一个网站的建设流程有哪些资料1.如图#xff0c;实现功能: Hello World!字符串跟随鼠标移动鼠标左击Hello World!颜色为红色鼠标右击Hello World!颜色为蓝色鼠标滚轮滚动改变Hello World!颜色的RGB中的G值 2.实现工具: vs20133.实现步骤: 新建一个win32项目 如图,看到HelloWorldGame.cpp中 _tWinMain()的函… 1.如图实现功能: Hello World!字符串跟随鼠标移动鼠标左击Hello World!颜色为红色鼠标右击Hello World!颜色为蓝色鼠标滚轮滚动改变Hello World!颜色的RGB中的G值 2.实现工具: vs20133.实现步骤:  新建一个win32项目 如图,看到HelloWorldGame.cpp中 _tWinMain()的函数是程序入口函数 WndProc()是处理主窗口的所有消息 About()是显示关于信息 这样就搭建好了win32框架 接下来开始使用GDI图形编程     在WndProc函数中找到case WM_PAINT,在注释中可以看出,WM_PAINT表示绘制消息我们就是在此 进行绘制操作,我们加入以下代码 TextOut(hdc,0,0,LHello World!,12) /*   参数解释: hdc 待输出的设备 0 坐标x 0 坐标y LHello World!  L表示将ANSI字符转换为unicode 以便支持中文,Hello World!表示要打印的字符串 12 表示要输出的字符数 */ F5运行  效果如图   好接下来我们来添加颜色   在变量声明区域加入以下代码 int r 125;int g 125;int b 125;COLORREF color RGB(r, g, b); //定义一个颜色索引color 并在TextOut函数前加入 SetTextColor(hdc, color);//设置文本的颜色 F5运行 如图   好的继续我们来增加一些互动性,添加更多的消息处理 在WndProc函数中 添加以下代码 case WM_LBUTTONDOWN://鼠标左击消息 color RGB(255, 0, 0); break; case WM_RBUTTONDOWN://鼠标右击消息 color RGB(0, 0, 255); break; F5运行一下看看,哈哈O(∩_∩)O哈是不是发现没效果 对没效果是对的为什么呢 因为没有及时发出重新绘制消息 case WM_LBUTTONDOWN://鼠标左击消息 color RGB(255, 0, 0); InvalidateRect(hWnd, NULL, TRUE); break; case WM_RBUTTONDOWN://鼠标右击消息 color RGB(0, 0, 255); InvalidateRect(hWnd, NULL, TRUE); 这样就行了 /* InvalidateRect参数 hWnd 窗口句柄 NULL 设置矩形 TRUE 设置重画 */ F5运行 好的我们实现了鼠标左右击颜色变化   接下来我们加入鼠标移动消息处理让Hello World跟着鼠标移动 首先在声明区声明 WCHAR str[64];int x 200, y 150; 然后在WndProc中加入 case WM_MOUSEMOVE: x LOWORD(lParam);//得到x坐标 y HIWORD(lParam);//得到y坐标 InvalidateRect(hWnd, NULL, TRUE);//发出重绘消息 break; F5运行   好的接下来添加鼠标滚轮消息 case WM_MOUSEWHEEL: //得到鼠标滚轮的参数 int zDelta (short)HIWORD(wParam); if (zDelta 0) //正值向前 { if (g255) g 1; } else //负值向后 { if (g0) g--; } color RGB(0, g, 122); InvalidateRect(hWnd, NULL, TRUE); break;  编译运行试试你发现了什么haha编译不同过 因为在case 中定义变量需要用括号把整个部分包含起来才行 case WM_MOUSEWHEEL: { //得到鼠标滚轮的参数 int zDelta (short)HIWORD(wParam); if (zDelta 0) //正值向前 { if (g255) g 1; } else //负值向后 { if (g0) g--; } color RGB(0, g, 122); InvalidateRect(hWnd, NULL, TRUE); } break; 我们再添加显示x,y,r,g,b值 定义 int r 125;int g 125;int b 125;COLORREF color RGB(r, g, b);WCHAR infor[64];int x 200, y 150; 在case WM_PAINT:中 swprintf_s(infor, Lr:%d,g:%d,b:%d\nx%d,y%d,r,g,b, x, y);//格式化字符串 TextOut(hdc, x, y - 100, infor, wcslen(infor)); F5运行一下 就得到了实现的效果 下面给出 HelloWorldGame.cpp的代码 1 // HelloWorldGame.cpp : Defines the entry point for the application.2 //3 4 #include stdafx.h5 #include HelloWorldGame.h6 7 #define MAX_LOADSTRING 1008 9 // Global Variables:10 HINSTANCE hInst; // current instance11 TCHAR szTitle[MAX_LOADSTRING]; // The title bar text12 TCHAR szWindowClass[MAX_LOADSTRING]; // the main window class name13 14 //15 int r 125;16 int g 125;17 int b 125;18 COLORREF color RGB(r, g, b);19 WCHAR infor[64];20 int x 200, y 150;21 //22 // Forward declarations of functions included in this code module:23 ATOM MyRegisterClass(HINSTANCE hInstance);24 BOOL InitInstance(HINSTANCE, int);25 LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);26 INT_PTR CALLBACK About(HWND, UINT, WPARAM, LPARAM);27 28 int APIENTRY _tWinMain(_In_ HINSTANCE hInstance,29 _In_opt_ HINSTANCE hPrevInstance,30 _In_ LPTSTR lpCmdLine,31 _In_ int nCmdShow)32 {33 UNREFERENCED_PARAMETER(hPrevInstance);34 UNREFERENCED_PARAMETER(lpCmdLine);35 36 // TODO: Place code here.37 MSG msg;38 HACCEL hAccelTable;39 40 // Initialize global strings41 LoadString(hInstance, IDS_APP_TITLE, szTitle, MAX_LOADSTRING);42 LoadString(hInstance, IDC_HELLOWORLDGAME, szWindowClass, MAX_LOADSTRING);43 MyRegisterClass(hInstance);44 45 // Perform application initialization:46 if (!InitInstance(hInstance, nCmdShow))47 {48 return FALSE;49 }50 51 hAccelTable LoadAccelerators(hInstance, MAKEINTRESOURCE(IDC_HELLOWORLDGAME));52 53 // Main message loop:54 while (GetMessage(msg, NULL, 0, 0))55 {56 if (!TranslateAccelerator(msg.hwnd, hAccelTable, msg))57 {58 TranslateMessage(msg);59 DispatchMessage(msg);60 }61 }62 63 return (int)msg.wParam;64 }65 66 67 68 //69 // FUNCTION: MyRegisterClass()70 //71 // PURPOSE: Registers the window class.72 //73 ATOM MyRegisterClass(HINSTANCE hInstance)74 {75 WNDCLASSEX wcex;76 77 wcex.cbSize sizeof(WNDCLASSEX);78 79 wcex.style CS_HREDRAW | CS_VREDRAW;80 wcex.lpfnWndProc WndProc;81 wcex.cbClsExtra 0;82 wcex.cbWndExtra 0;83 wcex.hInstance hInstance;84 wcex.hIcon LoadIcon(hInstance, MAKEINTRESOURCE(IDI_HELLOWORLDGAME));85 wcex.hCursor LoadCursor(NULL, IDC_ARROW);86 wcex.hbrBackground (HBRUSH)(COLOR_WINDOW 1);87 wcex.lpszMenuName MAKEINTRESOURCE(IDC_HELLOWORLDGAME);88 wcex.lpszClassName szWindowClass;89 wcex.hIconSm LoadIcon(wcex.hInstance, MAKEINTRESOURCE(IDI_SMALL));90 91 return RegisterClassEx(wcex);92 }93 94 //95 // FUNCTION: InitInstance(HINSTANCE, int)96 //97 // PURPOSE: Saves instance handle and creates main window98 //99 // COMMENTS: 100 // 101 // In this function, we save the instance handle in a global variable and 102 // create and display the main program window. 103 // 104 BOOL InitInstance(HINSTANCE hInstance, int nCmdShow) 105 { 106 HWND hWnd; 107 108 hInst hInstance; // Store instance handle in our global variable 109 110 hWnd CreateWindow(szWindowClass, szTitle, WS_OVERLAPPEDWINDOW, 111 CW_USEDEFAULT, 0, CW_USEDEFAULT, 0, NULL, NULL, hInstance, NULL); 112 113 if (!hWnd) 114 { 115 return FALSE; 116 } 117 118 ShowWindow(hWnd, nCmdShow); 119 UpdateWindow(hWnd); 120 121 return TRUE; 122 } 123 124 // 125 // FUNCTION: WndProc(HWND, UINT, WPARAM, LPARAM) 126 // 127 // PURPOSE: Processes messages for the main window. 128 // 129 // WM_COMMAND - process the application menu 130 // WM_PAINT - Paint the main window 131 // WM_DESTROY - post a quit message and return 132 // 133 // 134 LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) 135 { 136 int wmId, wmEvent; 137 PAINTSTRUCT ps; 138 HDC hdc; 139 140 switch (message) 141 { 142 case WM_COMMAND: 143 wmId LOWORD(wParam); 144 wmEvent HIWORD(wParam); 145 // Parse the menu selections: 146 switch (wmId) 147 { 148 case IDM_ABOUT: 149 DialogBox(hInst, MAKEINTRESOURCE(IDD_ABOUTBOX), hWnd, About); 150 break; 151 case IDM_EXIT: 152 DestroyWindow(hWnd); 153 break; 154 default: 155 return DefWindowProc(hWnd, message, wParam, lParam); 156 } 157 break; 158 case WM_LBUTTONDOWN://鼠标左击消息 159 color RGB(255, 0, 0); 160 InvalidateRect(hWnd, NULL, TRUE); 161 break; 162 case WM_RBUTTONDOWN://鼠标右击消息 163 color RGB(0, 0, 255); 164 InvalidateRect(hWnd, NULL, TRUE); 165 break; 166 case WM_MOUSEMOVE: 167 x LOWORD(lParam);//得到x坐标 168 y HIWORD(lParam);//得到y坐标 169 InvalidateRect(hWnd, NULL, TRUE);//发出重绘消息 170 break; 171 case WM_MOUSEWHEEL: 172 { 173 //得到鼠标滚轮的参数 174 int zDelta (short)HIWORD(wParam); 175 if (zDelta 0) //正值向前 176 { 177 if (g255) 178 g 1; 179 180 } 181 else //负值向后 182 { 183 if (g0) 184 g--; 185 } 186 color RGB(0, g, 122); 187 InvalidateRect(hWnd, NULL, TRUE); 188 } 189 break; 190 191 case WM_PAINT: 192 hdc BeginPaint(hWnd, ps); 193 // TODO: Add any drawing code here... 194 SetTextColor(hdc, color); 195 TextOut(hdc, x, y, LHello World!, 12); 196 swprintf_s(infor, Lr:%d,g:%d,b:%d\nx%d,y%d,r,g,b, x, y);//格式化字符串 197 TextOut(hdc, x, y - 100, infor, wcslen(infor)); 198 EndPaint(hWnd, ps); 199 break; 200 case WM_DESTROY: 201 PostQuitMessage(0); 202 break; 203 default: 204 return DefWindowProc(hWnd, message, wParam, lParam); 205 } 206 return 0; 207 } 208 209 // Message handler for about box. 210 INT_PTR CALLBACK About(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam) 211 { 212 UNREFERENCED_PARAMETER(lParam); 213 switch (message) 214 { 215 case WM_INITDIALOG: 216 return (INT_PTR)TRUE; 217 218 case WM_COMMAND: 219 if (LOWORD(wParam) IDOK || LOWORD(wParam) IDCANCEL) 220 { 221 EndDialog(hDlg, LOWORD(wParam)); 222 return (INT_PTR)TRUE; 223 } 224 break; 225 } 226 return (INT_PTR)FALSE; 227 } HelloWorldGame.cpp  转载于:https://www.cnblogs.com/ncgds/p/6288885.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/909473.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

网站备案信息变更买个小程序多少钱

目录 一、边缘磨损效果 二、刮痕效果 三、边缘磨损与刮痕的混合 四、锈迹效果 本篇效果: 一、边缘磨损效果 将智能材质“Iron Forge Old” 拖入图层 打开“Iron Forge Old” 文件夹,选中“Sharpen”(锐化),增大“…

网站管理人员怎么做手机app软件

目录 运算符 数字运算符 比较运算符 逻辑运算符 转义字符 变量使用 变量定义 变量类型 变量命名 变量函数 input函数 type函数 条件语句 If 格式 案例1,判断年龄 案例2,借钱 案例3,and、or应用 循环语句 for 格式 案例…

深圳网站建设学习网站建设购销合同

1 释放锁流程概述 ReentrantLock的unlock()方法不区分公平锁还是非公平锁。 首先调用unlock()方法。 unlock()底层使用的是Sync.release(1)方法 public void unlock() {<!-- --> sync.release(1); } release(1)方法会调用tryRelease(1)去尝试解锁。 public fin…

个人网站做项目万能软文模板

文章目录 什么是SSH协议&#xff1f;SSH为何是安全的&#xff1f;SSH由哪些组件构成&#xff1f;SSH可以帮助实现的功能SSH的工作原理SSH的历史版本常用的SSH工具有哪些SSH配置案例参考Windows 安装SSHUbuntu系统SSH配置Cisco Switch SSH配置华为Switch SSH配置 客户端启用SSH连…

比较好设计网站wordpress 按钮美化

Vue.js 是一套构建用户界面的渐进式框架。只关注视图层, 采用自底向上增量开发的设计。 目标是通过尽可能简单的 API 实现响应的数据绑定和组合的视图组件。Vue 学习起来非常简单。 目录 常用的vue.js版本及方法 学习vue之前需要掌握基础html+css+javaScript知识。 比如: …

python 网站开发书籍wordpress百度熊掌号

牛年跳槽季如火如荼&#xff0c;敏锐点的小伙伴儿应该都留意到了&#xff0c;BAT新年都在招聘.NET。2020年11月份发布.NET5统一了七大应用方向&#xff0c;.NET6的2个预览版已经把Blazor升级、跨平台UI方案MAUI、CLR性能优化等都放出来了&#xff0c;.NET前景充满想象&#xff…

桂林做网站建设的公司电子商务网站建设与管理总结

SCI论文作图规范包括以下几个方面&#xff1a; 一、图片格式 SCI论文通常接受的图片格式包括TIFF、EPS和PDF等。其中&#xff0c;TIFF格式是一种高质量的图像格式&#xff0c;适用于需要高分辨率和颜色准确性的图片&#xff1b;EPS格式是一种矢量图形格式&#xff0c;适用于需…

做网站的例子建设网站的五个步骤

&#x1f468;‍&#x1f393;作者简介&#xff1a;一位大四、研0学生&#xff0c;正在努力准备大四暑假的实习 &#x1f30c;上期文章&#xff1a;Redis&#xff1a;原理速成项目实战——Redis实战4&#xff08;解决Redis缓存穿透、雪崩、击穿&#xff09; &#x1f4da;订阅专…

用ida插件快速审计函数调用

如果xref窗口会显示调用的伪代码,也许就不会有今天...前言 我又要在前言絮絮叨叨一下我是为什么要做这个小插件的了...就不看 在审查程序的漏洞的时候,我们可能会重点关注那么几个重点函数的调用:system肯定是重中之…

【ACM独立出版|往届已EI、Scopus检索|合作SSCI】第二届数字经济与计算机科学国际学术会议(DECS 2025)

第二届数字经济与计算机科学国际学术会议(DECS 2025)将于2025年10月17日至10月19日在中国武汉召开。本次会议旨在汇聚来自全球的学者、研究人员和业界专家,共同探讨数字经济与计算机科学领域的最新发展与应用。随着…

schematool -initSchema -dbType mysql

hive启动之前一定要用这条命令初始化

叶县红色家园网站建设公众号登陆

文章开始之前&#xff0c;建议安装一个显示网速的插件&#xff0c;不然你不知道到底有没有下载&#xff0c;也让生活有一点盼头 1.因为众所周知的原因&#xff08;我dang的行为真的是让人失望&#xff09;&#xff0c;先更换一下ruby镜像源 $ gem sources --remove https://rub…

PostgreSQL 全表 count 优化实践:从 SeqScan 痛点分析到 heapam 改进与性能突破

本文整理自 IvorySQL 2025 生态大会暨 PostgreSQL 高峰论坛的演讲分享,演讲嘉宾:权宗亮。本文主要包括以下三部分:SeqScan 现状 heapam 改进 全表计数SeqScan 现状 我们使用了一个稍宽的 SeqScan 表,包含约 10-20 …

微信微网站建设平台wordpress改变友情链接顺序

文学迷 > 玄幻魔法 > 天命神相 > 第一千六百零七章 鸿蒙紫气&#xff0c;成圣之机 (上)第一千六百零七章 鸿蒙紫气&#xff0c;成圣之机功德金身只要达到了八十一重天&#xff0c;大圆满的境界&#xff0c;实力堪混元大罗级别的圣人&#xff0c;这听起来确实是一件吊炸…

逸阳网站建设的目标完整的网站优化放啊

文章目录 前言一、pandas是什么&#xff1f;二、使用步骤 1.引入库2.读入数据总结 一. VRRP概述 VRRP---虚拟路由器冗余协议 VRRP&#xff08;Virtual Router Redundancy Protocol&#xff09;是一种用于在多个路由器之间创建虚拟路由器的协议。 VRRP使用了一系列协议来实现路…

学习做网站的孛校呼和浩特网站建设费用

更新&#xff1a;使用 滏阳河边捉蚯蚓 https://zhuanlan.zhihu.com/p/41297136上获取系统PDF文件和zotero.sqlite文件的代码&#xff0c;在此感谢&#xff01;在zotero的library中删除参考文献条目后&#xff0c;有时PDF不会同步删除&#xff0c;尤甚是安装了zotfile插件后&…

登建设厅锁子的是哪个网站sharepoint 网站开发

这里 Allocation failed - JavaScript heap out of memory JavaScript堆内存不足&#xff0c;我们都知道 Node 是基于V8引擎&#xff0c;在一般的后端开发语言中&#xff0c;在基本的内存使用上没有什么限制&#xff0c;但是我去查阅了相关的资料才发现&#xff0c;在 Node 中通…

Lightroom Classic 2025:精细调控,呈现完美画质,专业级数字照片管理与后期处理全解析

Lightroom Classic 2024是一款由Adobe开发的数字照片后期处理软件,它为摄影师和摄影爱好者提供了一个全面、高效的后期处理平台。通过Lightroom Classic 2024,用户可以轻松地对数字照片进行各种调整和修饰,以实现最…

负载分析和排查五

负载分析和排查五明白 ✅ 我不会乱改行、不省略、不简化,而是在你提供的表格基础上补充更详细的内容:包括 问题原因分析 → 判断依据 → perf 排查命令 → 优化方向(C 语言/系统示例)。保证格式对齐,逐行完善。下…

管理网站建设源代码程序做网站用啥软件

题目描述 题目链接&#xff1a;https://leetcode.cn/problems/merge-two-sorted-lists/description/ 思路 两个链表都是升序链表&#xff0c;新建一个链表&#xff0c;引入伪头节点作为辅助节点&#xff0c;将各节点添加到伪节点之后&#xff0c;再用一个cur节点指向新链表的…