MFC学习笔记和心得

D:\opencv\OPcv\opencv\build\x64\vc15\lib
opencv_world410d.lib
opencv学习资料:
https://blog.csdn.net/zhmxy555/category_9262318.html

编程开头必须内容

#include<opencv2/opencv.hpp>
#include<iostream>
#include<math.h>
using namespace cv;
using namespace std;
int main(int argc, char** argv)
{
	Mat src, dst;
	src = imread("cat.jpg");
	if (!src.data)
	{
		cout << "could not load image..." << endl;
		return -1;
	}
	namedWindow("input image", WINDOW_AUTOSIZE);
	imshow("input image", src);

	namedWindow("output image", WINDOW_AUTOSIZE);
	imshow("output image", dst);
	waitKey(0);
	return 0;

}


#include<iostream>
using namespace std;
int main()
{
     	system("pause");
	return 0;
}

- 编程小技巧: Alt+上下箭头就可以上下移动
Ctrl+shift+/就可以快速注释
Ctrl+A+Delete删除MFC元件
文件创建: 如果要在一个源文件下分别运行单个cpp文件,则要对cpp文件进行禁用,单击右键属性,从生成中排除
MFC:
1.基于对话框进行建立,头文件中才有dlg文件
2.在资源文件中找rc后缀的文件,然后点击进入操作
3.Alt+Enter然后点击caption改按钮名称
4.项目、类向导、设置成员变量、添加变量、变量名
5.GetDlgLtem()主要是获取对话框上控件的句柄
6.GetWindowText(str)获取对话框上控件的文本信息
7.SetWindowTextW(“数值”)设置对话框上控件的文本信息
8.OnDraw(CDC
pDC)中画画(View文件中)或者属性消息onpaint也可以画画(有ondraw就不要有onpaint)
9.类视图中的Frame和View文件中 点击消息 增加操作
10.成员变量名.SetWindowTextW(TEXT(“ ”))设置文本内容 获取为 Cstring str; GetWindowTextW(str);MessageBox(str);
11.显示图片(bmp)
12.成员变量名.EnableWindow(FALSE);禁用按钮(只能点击一次)
13.1.edit control如果想要换行,则点击属性中的Multtiline和Want Return,把改成true
2.Vertical Scroll添加竖直滚筒条,Auto VScroll无限输入,Horizontal Scroll横向滚动条
14.Ctrl+拖拽,复制一份
15.添加元件后,添加成员变量,在OnInitDialog中初始化成员变量
16.退出程序exit(0); 退出对话框CDialog::OnOK(); 确认退出 CDialog::OnCancel();取消退出 (回车退出bug,在dlg文件属性里面添加onok把里面的代码注释掉)
17.利用关联value的方式设置和改变edit内容
//设置内容
成员变量名=TEXT( );
//将变量内容同步到控件中
UpdateData(FALSE);
--------------------------------------
//将控件的内容同步到变量中 UpdateData(TRUE);
//获取内容
MessageBox(成员变量名);
18.下拉窗 添加选项:属性data 选项;选项;… 或者添加变量(control 变量名)初始化代码中添加(comboboxctrl)
//下拉框添加
(变量名.AddString(TEXT(" “));
(变量名.AddString(TEXT(” “));…
//设置默认选项
变量名.SetCurSel(0);(0是默认索引位置)
//插入
变量名.InsertString(位置顺序,TEXT(” “);
//删除
变量名.DeleteSring(位置顺序);
//获取1号索引的具体内容
变量名.GetLBText(位置顺序,str);
MessageBox(str);
type:Drop List就不能对下拉窗进行编辑了
//拿到索引位置并弹出(属性消息窗口CBN_SELCHANGE)
int index=变量名.GetCurSel();
Ctring str;
变量名.GetLBText(index,str);
MessageBox(str);
19.List control 属性view设置显示形式 添加成员变量后在类视图中的添加程序
----------------------------------------------------------------
Ctring str[]=(TEXT(” “),TEXT(” “),…);
for(int i=0;i<n;i++)
{
//设置表头 1参数 2内容 3对其方式 4列宽度
变量名.InsertColumn(i,str[i],LVCFMT_LEFT,100);
}
//设置正文 (表头不算正文内容,索引从0开始)
成员名.InsertItem(0,TEXT(” “));
//给这个Item插入其他列的数据
成员名.SetItemText(0,1,TEXT(” "));
------------------------------------------------------------------

for (int i=0;i<n;i++)
{
CString name;
name.Format(TEXT(" "),i);
成员名.InsertItem(i,name);
}
//设置属性 整行选中状态 显示网格
成员名.SetExtendedStyle(成员名.GetExendedStyle() | LVS_EX_FULLROWSELECT |
LVS_EX_GRIDLINES);
return TRUE;
20.Tree control
Has Lines 有线
Has Buttons折叠按钮
初始化
//设置图标 HICON icons[ ];
icons[0]=AfxGetApp()->LoadIconW(图片ID); . . . . . //写到.h文件中
CimageList list;//放图片的集合
list.Create(cx,cy,nFlags,nInitial,nGrow)//cx和cy为图像尺寸,nFlags为列表类型,nInitial为包含图象数,nGrow为可生成的图象数
资源视图中Icon点击添加资源进res文件选择图片(BMP格式) //添加具体图片
for (int i=0;i<4;i++)
{
list.Add(icons[i]);
}
m_tree.SetImageList(&list,TVSIL_NORMAL) //设置节点 //根节点
HTREEITEM root=变量名.InsertItem(TEXT(“根节点”),显示图片位置号,0,NULL); //父节点
HTREEITEM parent=变量名.InsertItem(TEXT(“父节点”),显示图片位置号,1,root); //子节点
HTREEITEM sub=变量名.InsertItem(TEXT(“子节点”),显示图片位置号,2,parent);
*

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值