学习windows编程 day4 之 矩形的操作
LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
{
HDC hdc;
PAINTSTRUCT ps;
static RECT rect,rect2,rect3;
static cxClient, cyClient;
static HBRUSH hBrush, hOldBrush;
POINT pt; switch (message)
{
case WM_SIZE:
cxClient = LOWORD(lParam);
cyClient = HIWORD(lParam);
break;
case WM_LBUTTONDOWN:
pt.x = LOWORD(lParam);
pt.y = HIWORD(lParam);
if (PtInRect(&rect2,pt))
{
MessageBox(NULL, L"clicked", L"info", NULL);
} break;
case WM_PAINT:
hdc = BeginPaint(hwnd, &ps);
//处理矩形
// rect.left = cxClient / 2 - 50;
// rect.right = cxClient / 2 + 50;
// rect.top = cyClient / 2 - 50;
// rect.bottom = cyClient / 2 + 50; hBrush = CreateSolidBrush(RGB(,,));
//1.fillrect 填充矩形
//FillRect(hdc, &rect, hBrush);
//2.framerect 改画笔为画刷来绘制边框
//FrameRect(hdc, &rect, hBrush);
//3.invertrect 翻转矩形内所有的像素
//InvertRect(hdc, &rect); //4.生成矩形SetRect
SetRect(&rect, cxClient / - , cyClient / - , cxClient/ + , cyClient/ + );
//5.偏移矩形OffsetRect
OffsetRect(&rect, -, -);
FillRect(hdc, &rect, hBrush);
InvertRect(hdc, &rect); //先显示图像,后翻转
//6.增大减小,长宽同时InflateRect
SetRect(&rect, cxClient / - , cyClient / - , cxClient / + , cyClient / + );
InflateRect(&rect, , );
FillRect(hdc, &rect, hBrush);
//7.setrectEmpty 设置矩形为空
FillRect(hdc, &rect, hBrush); //不会显示
//8.copyrect 多用在映射中
CopyRect(&rect2, &rect); //将rect的坐标拷贝给rect2
SetRectEmpty(&rect);//将矩形的各个坐标设为0,则会显示rect2
hBrush = CreateSolidBrush(RGB(, , ));
FillRect(hdc, &rect2, hBrush);
//9.intersectrect 两个矩形交集
//10.unionrect 两个矩形并集
//11.Isrectempty 判断是否为空
//12.ptinrect 判断点是否在矩形中(重要) EndPaint(hwnd, &ps);
break;
case WM_DESTROY:
PostQuitMessage();
return ;
} return DefWindowProc(hwnd, message, wParam, lParam);
}
学习windows编程 day4 之 矩形的操作的更多相关文章
- 学习windows编程 day4 之 绘制随机矩形和peekMessage
#include <windows.h> #include <strsafe.h> LRESULT CALLBACK WndProc(HWND hwnd, UINT messa ...
- 学习windows编程 day4 之 多边矩形填充
#include <windows.h> #include <math.h> LRESULT CALLBACK WndProc(HWND hwnd, UINT message, ...
- 学习windows编程 day4 之视口和窗口
LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam) { HDC hdc; PAINTSTRU ...
- 学习windows编程 day4 之 盯裆猫
写着写着就困了.... 看这些测量数据就算了,是对各种函数的练习 #include <windows.h> LRESULT CALLBACK WndProc(HWND hwnd, UINT ...
- 学习windows编程 day4 之 自定义映射
LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam) { HDC hdc; PAINTSTRU ...
- 学习windows编程 day4 之 设置画刷
LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam) { HDC hdc; PAINTSTRU ...
- 学习windows编程 day4 之 映射模式
LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam) { HDC hdc; PAINTSTRU ...
- 有一定基础的 C++ 学习者该怎样学习 Windows 编程?
人的心理有个奇异的特性:一项知识一旦学会之后,学习过程中面临的困惑和不解非常快就会忘得干干净净,似乎一切都是自然而然,本来就该这种.因此,关于「怎样入门」这类问题,找顶尖高手来回答,未必能比一个刚入门 ...
- 我为什么学习Windows编程
前一段时间在看TCP/IP,在图书馆里面找了不少的书,其中有几本书还是不错的.比如: <Windows网络与通信程序设计(第二版)> 王艳平著 <WinSock网络编程经络> ...
随机推荐
- A11-java学习-二维数组-面向对象概念-类的编写-测试类的编写-创建对象-使用对象-递归
二维数组的内存结构和使用 引用类型的内存结构 栈区.堆区.方法区.数据栈等内存分析和介绍 面向对象.面向过程区别和发展 类型的定义 引用类型.值类型 预定义类型和自定义类型 类型与对象(实例) 对象的 ...
- Flask-论坛开发-4-知识点补充
对Flask感兴趣的,可以看下这个视频教程:http://study.163.com/course/courseLearn.htm?courseId=1004091002 1. WTForms 表单使 ...
- 使用matlab自带工具实现rcnn
平台:matlab2016b matlab自带一个cifar10Net工具可用于深度学习. 图片标注 这里使用的是matlab自带的工具trainingImageLabeler对图像进行roi的标注. ...
- [转载]Tomcat部署与配置
转载来源: http://ibash.cc/frontend/article/2/ 感觉挺好的 自己之前总是怕麻烦 其实是水平不够. 一句话介绍Tomcat Tomcat是一个免费的开源的Web应用 ...
- 使用highlightjs自定义markdown代码高亮
目录 概述 实现方法 概述 最近使用markdown来写一些技术文档和博客,觉得真心不错,这才是程序员该用的编辑器嘛~~ Mou在mac上的 markdown 编辑器,很简约,可惜Mou好像只支持标准 ...
- js對象
js聲明一個數據,即使沒有賦值,也是創建了一個對象: js的所有數據都是對象,對象裡面有屬性也有方法,屬性方法是對象中的成員: 訪問對象的屬性:objectname.屬性名 訪問對象的方法:objec ...
- vander范德蒙德行列式
https://baike.baidu.com/item/%E8%8C%83%E5%BE%B7%E8%92%99%E8%A1%8C%E5%88%97%E5%BC%8F function m=vande ...
- BZOJ4808马——二分图最大独立集
题目描述 众所周知,马后炮是中国象棋中很厉害的一招必杀技."马走日字".本来,如果在要去的方向有别的棋子挡住(俗 称"蹩马腿"),则不允许走过去.为了简化问题, ...
- 08 Zabbix Item类型之Zabbix agent类型
点击返回:自学Zabbix4.0之路 点击返回:自学zabbix集锦 08 Zabbix Item类型之Zabbix agent类型 Zabbix agent类型的item是使用部署在服务器端的age ...
- 【转】cJSON 源码阅读笔记
前言 cjson 的代码只有 1000+ 行, 而且只是简单的几个函数的调用. 而且 cjson 还有很多不完善的地方, 推荐大家看完之后自己实现一个 封装好的功能完善的 cjson 程序. json ...