当前位置:网站首页>els_ 画矩形、代码规划和备份
els_ 画矩形、代码规划和备份
2022-07-27 03:41:00 【joker_0030】
1、主函数
#include<Windows.h>
#include"resource.h"
#include"els_h.h"
LRESULT CALLBACK PELouSi(HWND hWnd, UINT oMsg, WPARAM wParam, LPARAM lParam);
int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPreInstance,LPSTR ipCmdLine,int nCmdShow)
{
//初始化窗口类。
WNDCLASSEX db;
HWND hWnd;
MSG msg;//结构体变量。
db.cbClsExtra = 0;
db.cbSize = sizeof(WNDCLASSEX);
db.cbWndExtra = 0;
db.hbrBackground = (HBRUSH)COLOR_BACKGROUND;//背景颜色。
//返回值:鼠标的句柄。
// 参数1:如果加载系统光标,NULL、如果加载自定义光标,填写实列句柄,hInstance;参数2:系统光标,直接填写定义好的宏、如果加载自定义光标,就用MAKEINTRESOURCE(240)加载相应的资源ID。
//db.hCursor = LoadCursor(NULL,IDC_HAND);//加载系统定义的光标。
db.hCursor = LoadCursor(hInstance,MAKEINTRESOURCE (IDC_NODROP));//自定义的光标。资源文件->添加->资源->Cursor->IDC_NODROP->新建。
//返回值:图标的句柄。
// 参数1:如果加载系统光标,NULL、如果加载自定义光标,填写实列句柄,hInstance;参数2:系统光标,直接填写定义好的宏、如果加载自定义光标,就用MAKEINTRESOURCE(240)加载相应的资源ID。
//db.hIcon = LoadIcon(NULL,IDI_ASTERISK);//加载系统定义的光标。
db.hIcon = LoadIcon(hInstance,MAKEINTRESOURCE(IDI_ICON1));//状态栏图标。
//db.hIconSm = NULL;//左上角图标为此定义。如果为空则默认为状态栏图标。
db.hIconSm = LoadIcon(NULL,IDI_HAND);
db.hInstance = hInstance;
db.lpfnWndProc = PELouSi;//回调函数名。
db.lpszClassName = "els";
db.lpszMenuName = NULL;
db.style = CS_HREDRAW | CS_VREDRAW;
if(0==RegisterClassEx(&db))
{
int a = GetLastError();
return 0;
}
//创建窗口。hWnd窗口句柄 失败返回NULL。
//窗口风格:参数4。
hWnd=CreateWindowEx(WS_EX_TOPMOST,"els","els方块",WS_OVERLAPPEDWINDOW,100,100,600,600,NULL,NULL,hInstance,NULL);
if (NULL == hWnd)//窗口句柄。 窗口的唯一标识。
{
return 0;
}
//显示窗口
ShowWindow(hWnd, nCmdShow);
//消息循环。队列。
while(GetMessage(&msg, NULL, 0, 0))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
return 0;
}
//回调函数
//返回值:LRESULT,CALLBACK调用约定。
//参数1:窗口句柄;参数2:消息ID。
LRESULT CALLBACK PELouSi(HWND hWnd, UINT nMsg, WPARAM wParam, LPARAM lParam)// LRESULT:long类型;UINT:无符号整型,消息的ID。
{
PAINTSTRUCT pt;//定义结构体。
HDC hDc;
//关闭窗口消息
switch (nMsg)
{
case WM_CREATE://窗口信息处理程序接受的第一个消息,也是回调函数处理的第一个消息(为WM_CREATE)。此消息只产生一次,一般是用于初始化一些数据。
//GetLastError();//优化。
Oncreate();//游戏数据初始化。
break;
//是回调函数处理的第二个消息(为WM_PAINT)。
//当窗口显示区域的一部分显示内容或者全部变为(无效),以致于必须(更新画面)时,将由这个消息通知程序。
//窗口结构的最后的那个成员CS_HREDRAW|CS_VREDRAW,目的就是窗口大小发生变化的时候,产生WM_PAINT消息。
//窗口重叠时,重叠部分渐渐出现时。
case WM_PAINT:
//GetLastError();//优化。
hDc=BeginPaint(hWnd,&pt);//getDC,窗口可操作区域的标识。
//在此之间画窗口的内容。
//画方块。
OnPaint(hDc);//增加代码可读性。
EndPaint(hWnd, &pt);//结束。
break;
case WM_DESTROY:
PostQuitMessage(0);//调用PostQuitMessage(0)这个函数发出WM_QUIT消息。//点叉系统依次产生WM_CLOSE,WM_DESTROY,WM_QUIT。
break;
}//手动处理点叉关闭消息。
return DefWindowProc(hWnd, nMsg, wParam, lParam);
//LRESULT a=DefWindowProc(hWnd, oMsg, wParam, lParam);//功能
//return a;
}
2、头文件。
#ifndef N_d
#define N_d
#include<Windows.h>
void OnPaint(HDC hDc);
void Oncreate();
#endif
3、函数实现。
#include"els_h.h"
void OnPaint(HDC hDc)
{
Rectangle(hDc, 0, 0, 300, 600);//矩形框距离运行窗口的开始位置坐标和截至位置坐标。
Rectangle(hDc, 30, 30, 60, 60);//矩形框距离运行窗口的开始位置坐标和截至位置坐标。
}
void Oncreate()
{
}
边栏推荐
- 使用WebMvcConfigurer进行接口请求拦截进行中增强(附源码)
- 使用kubesphere图形界面dashboard开启devops功能
- Word/Excel 固定表格大小,填写内容时,表格不随单元格内容变化
- JS modify the key value of the object array
- php+swoole
- spicy之evt接口定义文件
- Brightcove任命Dan Freund为首席营收官
- 法解析的外部符号 “public: virtual __cdecl nvinfer1::YoloLayerPlugin::~YoloLayerPlugin(void)“ “public: virtua
- Navicat将MySQL导出表结构以及字段说明
- 2022-07-26:以下go语言代码输出什么?A:5;B:hello;C:编译错误;D:运行错误。 package main import ( “fmt“ ) type integer in
猜你喜欢

卷积神经网络——24位彩色图像的卷积的详细介绍

匿名命名管道, 共享内存的进程间通信理解与使用

Is VR panoramic production a single weapon in the home decoration industry? Why is this?

Big talk · book sharing | lean product development: principles, methods and Implementation

2022-07-26:以下go语言代码输出什么?A:5;B:hello;C:编译错误;D:运行错误。 package main import ( “fmt“ ) type integer in

Okaleido ecological core equity Oka, all in fusion mining mode

VR panorama gold rush "careful machine" (Part 1)

List Simulation Implementation

佳明手表怎么设置用户定制显示

2022 operation of simulated examination question bank and simulated examination platform for safety production management personnel of hazardous chemical production units
随机推荐
Brightcove任命Dan Freund为首席营收官
Five basic data structures of redis
搜索旋转排序数组
【小样本分割】MSANet: Multi-Similarity and Attention Guidance for Boosting Few-Shot Segmentation
[machine learning network] BP neural network and deep learning-6 deep neural networks (DNN)
标准C语言11
The real digital retail should have richer connotation and significance
Detailed explanation of TCP protocol knowledge
Worship the 321 page PDF of the core technology of Internet entrepreneurship that Alibaba is pushing internally. It's really kneeling
2022-07-26:以下go语言代码输出什么?A:5;B:hello;C:编译错误;D:运行错误。 package main import ( “fmt“ ) type integer in
一张图看懂KingbaseES V9
c# 获取uuid
CloudCompare&PCL 匹配点中值(或标准差)距离抑制
scala 不可变Map 、 可变Map 、Map转换为其他数据类型
2022 operation of simulated examination question bank and simulated examination platform for safety production management personnel of hazardous chemical production units
微信小程序轮播图
2022 retraining question bank and answers for main principals of hazardous chemical business units
The new Internet era has come. What new opportunities will Web 3.0 bring us
微服务化解决文库下载业务问题实践
标准C语言13