摘要: 系统菜单 如图,这是系统给出的菜单,也可以通过资源视图-》Menu进行修改。 通过结构体WNDCLASSEX wcex 进行加载: wcex.lpszMenuName = MAKEINTRESOURCE(IDC_MENUDEMO2); 菜单的互斥 点击某一菜单,其他菜单变成不可选择。 利用Enabl 阅读全文
posted @ 2017-09-03 21:54 gd_沐辰 阅读(365) 评论(0) 推荐(0) 编辑
摘要: 组合框 Combo Box 注意:组合框本质也是窗口。 组合框,我也经常遇到,比如在填写资料,选择性别(男、女),或多个账号登陆等情形。如下图: 本例介绍三种组合框的形式: 第一种CBS_SIMPLE: 没有下拉按钮,直接显示部分选项,并且可以在“选项 0”处输入其他内容。 第二种CBS_DROPD 阅读全文
posted @ 2017-09-03 21:51 gd_沐辰 阅读(283) 评论(0) 推荐(0) 编辑
摘要: 字体 在WIN32运用中会用到各种字体,那么如何设置字体的样式、大小、颜色呢? 设置颜色,字体属于文本,可以使用SetTextColor(hdc,RGB(255,0,0));进行字体颜色的改变。 下面介绍字体样式、大小。 函数原型: WINGDIAPI HFONT WINAPI CreateFont 阅读全文
posted @ 2017-09-03 21:50 gd_沐辰 阅读(548) 评论(0) 推荐(0) 编辑
摘要: Edit编辑框 我们经常使用的框框,比如:登陆账号、密码时。这就是编辑框。编辑框同样是窗口。 CreateWindowEx(WS_EX_CLIENTEDGE,"EDIT",0,WS_CHILD|WS_VISIBLE|ES_AUTOHSCROLL,4,4,170,30,hWnd,NULL,hInst, 阅读全文
posted @ 2017-09-03 21:48 gd_沐辰 阅读(270) 评论(0) 推荐(0) 编辑
摘要: 滚动条 Scrollbar 我们经常在网页、word,都会遇到可以向下或向上拉动的滚动条。那么如何实现的呢? 记住,滚动条也是窗口哦。 步骤:1.创建水平滚动条 SBS_HORZ 代表水平滚动条CreateWindowEx(0,"scrollbar",0,WS_CHILD|WS_VISIBLE|SB 阅读全文
posted @ 2017-09-03 21:48 gd_沐辰 阅读(308) 评论(0) 推荐(0) 编辑
摘要: Static 静态文本框 本例讲解静态文本框,从上面的图片可以看出,有三种颜色,其中绿色就是文本框(static)(本质就是一个窗口),而红色就是文本框上的字体,蓝色就是字体的背景颜色。 在前面讲过,按钮的本质就是窗口,那么此例的文本框也是一个窗口。 步骤: 1.创建出文本框 char str[12 阅读全文
posted @ 2017-09-03 21:46 gd_沐辰 阅读(559) 评论(0) 推荐(0) 编辑
摘要: 通过WIN32 绘图,画出各种控件,如下: 注意:按钮的本质是窗口。换句话说,以上说显示的都是窗口,button,radio,checked box等都是一个窗口。 窗口函数原型: CreateWindowExA(0, lpClassName, lpWindowName, dwStyle, x, y 阅读全文
posted @ 2017-09-03 21:45 gd_沐辰 阅读(259) 评论(0) 推荐(0) 编辑
摘要: 任务:在新建的窗口上画出一个小球,随着键盘的上、下、左、右的操作,小球也随着移动。 步骤:1.建立WIN32项目(不用自己写窗口,直接用) 2.将消息处理函数修改如下: LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, 阅读全文
posted @ 2017-09-03 21:42 gd_沐辰 阅读(171) 评论(0) 推荐(0) 编辑
摘要: 任务:在新建的窗口上画出一个小球,随着时间,小球不断在窗口内跳动,碰到边界反弹,每反弹一次,改变一种颜色,当窗口改变大小,效果依然。 步骤:1.建立WIN32项目(不用自己写窗口,直接用) 2.将消息处理函数修改如下: #define IDT_BALL 100 LRESULT CALLBACK Wn 阅读全文
posted @ 2017-09-03 21:42 gd_沐辰 阅读(138) 评论(0) 推荐(0) 编辑
摘要: 窗口创建过程和消息响应BOOL InitInstance(HINSTANCE hInstance, int nCmdShow){ HWND hWnd; hInst = hInstance; // 将实例句柄存储在全局变量中 MessageBox(NULL,"创建之前","窗口",MB_OK); hW 阅读全文
posted @ 2017-09-03 21:41 gd_沐辰 阅读(180) 评论(0) 推荐(0) 编辑
摘要: #include<Windows.h>#include<stdio.h>#include"resource.h" //创建右键菜单void OnRButtonUp(HWND hWnd,LPARAM lParam){ HMENU hPop3=CreatePopupMenu(); POINT pt={0 阅读全文
posted @ 2017-09-03 21:39 gd_沐辰 阅读(128) 评论(0) 推荐(0) 编辑
摘要: #include<Windows.h>#include<stdio.h>//创建主菜单void MyAppenMenu(HWND hWnd){ //创建顶级菜单,并获取菜单句柄 HMENU hTopMenu = CreateMenu(); //创建下拉菜单,并获取下拉菜单句柄 HMENU hPopM 阅读全文
posted @ 2017-09-03 21:38 gd_沐辰 阅读(127) 评论(0) 推荐(0) 编辑
摘要: #include <Windows.h> //wParam 一般处理最大化,最小化,关闭//lParam 一般处理窗口宽、高的变化#include<Windows.h> #define WM_MYDESTROY 2 LRESULT CALLBACK WndProc(HWND hWnd,UINT ms 阅读全文
posted @ 2017-09-03 21:37 gd_沐辰 阅读(137) 评论(0) 推荐(0) 编辑
摘要: #include<Windows.h>#include<stdio.h> //#define WM_MYDESTROY 2HINSTANCE g_hInstance;HANDLE g_hOut;/*顶级菜单 窗口 下拉菜单的步骤1.创建好窗口2.创建顶级菜单3.创建下拉菜单 4.把下拉菜单置于顶级菜 阅读全文
posted @ 2017-09-03 21:37 gd_沐辰 阅读(153) 评论(0) 推荐(0) 编辑
摘要: #include<Windows.h> LRESULT CALLBACK WndProc(HWND hWnd,UINT msg,WPARAM wParam,LPARAM lParam){ switch(msg) { case WM_CREATE: /*MessageBox(hWnd,TEXT("窗口 阅读全文
posted @ 2017-09-03 21:37 gd_沐辰 阅读(158) 评论(0) 推荐(0) 编辑
摘要: ROI 感兴趣区域,可以在一张图片上标志一块区域,对这块区域进行特殊处理。比如:把A图的头部设为感兴趣区域,再将同等大小的图覆盖在该感兴趣区域。实现贴图的效果。 核心函数: cvSetImageROI(img,rect); 在图img上设置大小rect的感兴趣区域。 cvCopy(sub_img,i 阅读全文
posted @ 2017-09-03 21:34 gd_沐辰 阅读(190) 评论(0) 推荐(0) 编辑
摘要: 多通道的色彩分离 每一张图片都是有BGR(blue,green,red)的三个值组成。如果仅有一个值,那就成了灰度图。 本例就是就一张图片的三种颜色进行分离。 步骤: 1.加载图片。cvLoadImage("1.jpg",1); 此处为相对路径(要将图片放入程序的根目录),建议使用绝对路径。 2.从 阅读全文
posted @ 2017-09-03 21:33 gd_沐辰 阅读(328) 评论(0) 推荐(0) 编辑
摘要: 矩阵数据访问 在上一讲中,我讲过用cvGet2D()来取得矩阵中的数值。 但是,调用函数还要不断分配内存空间。如果,数据非常大,500X500,那么内存空间够不够呢? 下面就介绍另一个方法,更高效率地访问矩阵。 C语言的优势就是拥有指针,可以直接对内存进行操作。 单通道: 与上一讲同样的例子: fl 阅读全文
posted @ 2017-09-03 21:32 gd_沐辰 阅读(316) 评论(0) 推荐(0) 编辑
摘要: 结构体详解 1.IplImage 原型: typedef struct _IplImage { int nSize; /* sizeof(IplImage) */ int ID; /* version (=0)*/ int nChannels; /* Most of OpenCV functions 阅读全文
posted @ 2017-09-03 21:32 gd_沐辰 阅读(219) 评论(0) 推荐(0) 编辑
摘要: 矩阵维度与通道 矩阵的格式与数组类似,在此以数组类比,理解什么是维度?什么是通道? float pArr[18]={10,15,20,25,30,35, 40,45,50,55,60,65, 70,75,80,85,90,95}; 上面是3行6列的数组。 维度:就是我们平常所说的坐标轴。二维:x,y 阅读全文
posted @ 2017-09-03 21:31 gd_沐辰 阅读(878) 评论(0) 推荐(0) 编辑