学习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网络编程经络> ...
随机推荐
- 微软开源的Trill是什么?
微软开源的Trill是什么? https://www.cnblogs.com/CattaC/p/10143445.html 微软开源的Trill是什么? 以下是一篇15年的文章的译文:https:// ...
- Knowledge-Defined Networking
知识定义的网络(Knowledge-Defined Networking) 来源:ACM SIGCOMM Computer Communication Review 年份:2017 是什么:容纳和利用 ...
- windows下net命令失败
D:\apache-tomcat-7.0.57\bin>net start mysql57发生系统错误 5. 拒绝访问. 以管理员身份运行 run as administrator 打开cmd. ...
- [学习笔记]Ubuntu下安装配置SQLSERVER2017
摘要自微软官网: https://docs.microsoft.com/zh-cn/sql/linux/quickstart-install-connect-ubuntu 安装步骤: 1. 导入公共秘 ...
- JavaScript DOM方法表格添加删除
<!DOCTYPE HTML> <html> <head> <meta charset="utf-8"> <title> ...
- 自定义Label控件
最近开发过程中有一个需求就是修改label控件的模板,使其能够在鼠标移近的时候变成TextBox,从而方便输入,然后进行相应的修改,最终达到动态修改Label的目的,这里贴出相应的代码,并做简要的分析 ...
- jmeter创建高级测试计划
如果应用程序使用重写地址而不是使用cookie存储信息,需要做一些额外的工作去测试程序 为了正确的响应重写地址,jmeter 需要解析 从服务器获取html 并且检索会话ID, 1 合理利用pre-p ...
- ubuntu 安装 postgresql
安装环境: Ubuntu 10.04-desktop-i386 PostgreSQL 8.4 1. 安装PostgreSQL 输入如下命令 sudo apt-get install postgresq ...
- 16mysql1
一.数据库的基本概念 1.1 常用的关系型数据库 数据库(Database)是按照数据结构来组织.存储和管理数据的仓库. 1.2 sql语言 ...
- BZOJ3110[Zjoi2013]K大数查询——权值线段树套线段树
题目描述 有N个位置,M个操作.操作有两种,每次操作如果是1 a b c的形式表示在第a个位置到第b个位置,每个位置加入一个数c如果是2 a b c形式,表示询问从第a个位置到第b个位置,第C大的数是 ...