win32 窗口 绘制矩形
win32 窗口 绘制矩形
测试环境: win7 64 位 vs2013
建立一个 win32 应用程序 ,空项目,名称是 HelloPaintRect,
在项目中添加源文件 HelloPaintRect.cpp :
内容如下:
#include <windows.h>
#include <stdlib.h>
#include <string.h>
#include <tchar.h> LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,PSTR szCmdLine, int iCmdShow)
{static TCHAR szAppName[] = TEXT("HelloWin");HWND hwnd;MSG msg;WNDCLASS wndclass;wndclass.style = CS_HREDRAW | CS_VREDRAW;wndclass.lpfnWndProc = WndProc;wndclass.cbClsExtra = 0;wndclass.cbWndExtra = 0;wndclass.hInstance = hInstance;wndclass.hIcon = LoadIcon(NULL, IDI_APPLICATION);wndclass.hCursor = LoadCursor(NULL, IDC_ARROW);wndclass.hbrBackground = (HBRUSH)GetStockObject(WHITE_BRUSH);wndclass.lpszMenuName = NULL;wndclass.lpszClassName = szAppName;if (!RegisterClass(&wndclass)){MessageBox(NULL, TEXT("This program requires Windows NT!"),szAppName, MB_ICONERROR);return 0;}hwnd = CreateWindow(szAppName, // window class nameTEXT("The Hello Program"), // window captionWS_OVERLAPPEDWINDOW, // window styleCW_USEDEFAULT, // initial x positionCW_USEDEFAULT, // initial y positionCW_USEDEFAULT, // initial x sizeCW_USEDEFAULT, // initial y sizeNULL, // parent window handleNULL, // window menu handlehInstance, // program instance handleNULL); // creation parametersShowWindow(hwnd, iCmdShow);UpdateWindow(hwnd);while (GetMessage(&msg, NULL, 0, 0)){TranslateMessage(&msg);DispatchMessage(&msg);}return msg.wParam;
}LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
{HDC hdc;PAINTSTRUCT ps;switch (message){case WM_CLOSE:DestroyWindow(hwnd);break;case WM_DESTROY:PostQuitMessage(0);break;case WM_PAINT: hdc = BeginPaint(hwnd, &ps); //1Rectangle(hdc,50,50,200,200); // 2EndPaint(hwnd, &ps); // 3break; default:return DefWindowProc(hwnd, message, wParam, lParam);}return 0;
}
显示效果如下:
win32 窗口 绘制矩形相关推荐
- qt整个窗口上绘制矩形与在窗口的子控件上绘制矩形
引言 创建一个基于QDialog的项目,自动生成ui文件,此时再添加新文件,创建一个基于QWidget的ui类,此类具有自定义标题栏,让该自定义类显示在窗口Dialog上,一开始具有红色的边框线,且四 ...
- qt在窗口的子部件中绘制矩形
引言 在窗口中绘制矩形,只需重写paintEvent()函数,在重回函数中实现绘制矩形便可.但在窗口的某一个子部件中实现绘制矩形,此时就需重写事件过滤函数,在指定的子部件的绘图事件实现绘制矩形. 结构 ...
- DirectX3D 11 总结 —— 1 绘制 win32 窗口
directX 3D 是什么 DirectX 3D是一种应用程序的接口(API),它可让以windows为平台的游戏或多媒体程序获得更高的执行效率,加强3d图形和声音的效果,并提供设计人员一个共同的硬 ...
- WinAPI入门: 第一个标准Win32窗口程序 [改进详细注释版]
WinAPI入门: 第一个标准Win32窗口程序 下载链接: 若想立即看到本程序的运行结果,可点击EXE文件的免费下载链接; HelloWin_v1.sfx.exe;–带语音和背景音乐; 相关链接: ...
- 【WPF学习手记】InkCanvas绘制矩形和椭圆
前面说到了InkCanvas的基本操作,这里用一个实例来说明具体应用:绘制矩形和椭圆. 效果图 xaml代码 <Window x:Class="WPF_InkCanvas.ROI_In ...
- opencv进阶学习笔记6:使用鼠标在图像上绘制矩形框或者多边形框
基础版笔记传送门: python3+opencv学习笔记汇总目录(适合基础入门学习) 进阶版笔记目录: python+opencv进阶版学习笔记目录(适合有一定基础) 感兴趣区域传统绘制: openc ...
- 第一个 Win32 窗口程序
第一个 Win32 窗口程序 程序骨架 int WinMain(){ // 设计窗口外观及交互响应,注册,申请专利RegisterClass(...) ;// 生产窗口 CreateWindow(.. ...
- vtk中的win32窗口
在用VS ide新建win32工程的选项中,一个叫"Win32控制台应用程序",另一个叫"Win32应用程序",其区别的细节这里跳过不讲,最显著的就是win32 ...
- 《OpenGL v1.1》——(1)接入Win32窗口,并描绘基本图元
准备: 创建OpenGL窗口的通常步骤: 创建一个扩展的Windows窗口(注册类,创建窗口,取得句柄hwnd,取得设备场景hdc: 提供一个像素格式(结构),让Windows寻找匹配的格式,并给场景 ...
- [伊利丹·怒风] Unity3D 绘制矩形(DrawRect)及可视化调试
背景 由于要做Native2D的A* 算法寻路,所以必须进行Scene的网格划分,而进行了网格划分需要进行可视化的调试,需求就是这个逻辑.具体是实现如下效果,这里绿色的区域就是角色不能进入的区域(或者 ...
最新文章
- mysql 日期时间格式化字符串_MySQL日期函数与日期转换格式化函数大全
- 创建MYSQL的储存过程
- openCV和Tensorflow起步
- 关于如何生成随机记录
- 广州那所大学有自考计算机专业,广州自考本科大学有哪些
- 换种思路去理解设计模式
- Mysql5.7 ZIP 压缩包非安装版的安装方式
- 第 2 章 OpenStack 架构 - 017 - 部署 DevStack
- 【渝粤教育】国家开放大学2018年春季 0014-21T秘书学(一) 参考试题
- 【机器视觉学习笔记】OpenCV C++ 与 HSV颜色模型
- BGP基本配置(GNS3)
- Kafka简介与消息队列
- 实体经济不改变经营思路和销售模式
- 数据流重导向 -- 第11章 认识与学习 BASH
- 让你页面速度飞起来的前端性能优化方案
- mysql 延迟关联
- 第三周总结(2022.10.31~2022.11.4)
- Word基础(三十四)引文与书目
- 单目标优化、多目标优化
- AndroidManifest.xml--android系统权限定义