MFC基础学习应用

MFC基础学习应用

1.基于对话框的使用

  1. 左上角为菜单键(其下的关于MFC主要功能由IDD_ABOUTBOX决定)

    附图

  2. 右下角为按钮(基本功能由IDD_DIALOG决定,添加按钮使用由左上角的工具箱完成)

    附图

2.自行添加功能与按钮//功能代码

c++ 复制代码
void CMFCApplication4Dlg::OnBnClickedButton1()
{
	// TODO: 在此添加控件通知处理程序代码
	MessageBox(_T("欢迎来到王者荣耀"));
}

3.最后运行效果截图

二.基于单个文档的使用

1.画线//神器类向导

需要添加两个消息一个为LBUTTONUP(另一个为LBUTTONDOWN)

还需要添加一个自定义的CPoint私有变量

首先主意类向导要勾选_________view(前面一般是你的项目名)

c++ 复制代码
void CMFCApplication5View::OnLButtonDown(UINT nFlags, CPoint point)
{
	// TODO: 在此添加消息处理程序代码和/或调用默认值
	c_porigin = point;
	CView::OnLButtonDown(nFlags, point);
}


void CMFCApplication5View::OnLButtonUp(UINT nFlags, CPoint point)
{
	// TODO: 在此添加消息处理程序代码和/或调用默认值
	CDC* pdc = GetDC();
	pdc->MoveTo(c_porigin);//起点位置
	pdc->LineTo(point);//终点位置
	ReleaseDC(pdc);
	CView::OnLButtonUp(nFlags, point);
}

2.运行结果截图

3.类向导勾选注意事项

截图:

三.画笔

c++ 复制代码
void CMFCApplication5View::OnLButtonUp(UINT nFlags, CPoint point)
{
	// TODO: 在此添加消息处理程序代码和/或调用默认值
	CPen pen(PS_SOLID, 5, RGB(255, 255, 0));//实线
	CClientDC dc(this);
	CPen* oldpen = dc.SelectObject(&pen);
	dc.MoveTo(c_porigin);
	dc.LineTo(point);
	dc.SelectObject(oldpen);
	CView::OnLButtonUp(nFlags, point);
}

截图

四.多种线条勾选方式

分别由PS_SOLID(实线条),PS_DASH(虚线(注意宽度不要超于2)),PS_DOT(点线)(宽度不要超于2),PS_DASHDOT(点虚线)

PS_DASH

PS_DOT

PS_DASHDOT

五.画刷

c++ 复制代码
void CMFCApplication5View::OnLButtonUp(UINT nFlags, CPoint point)
{
	// TODO: 在此添加消息处理程序代码和/或调用默认值
	CBrush brush(RGB(0,255,255));
	CClientDC dc(this);
	dc.FillRect(CRect(c_porigin,point),&brush);

}

运行效果截图

默认画刷

相关推荐
江畔柳前堤4 分钟前
PyQt学习系列11-综合项目:多语言文件管理器
开发语言·网络·python·学习·django·pyqt
kyle~26 分钟前
C/C++---隐式显式转换
c语言·开发语言·c++
四谷夕雨29 分钟前
C++八股 —— 手撕定时器
开发语言·c++
爱凤的小光1 小时前
Opencv常见学习链接(待分类补充)
人工智能·opencv·学习
-一杯为品-1 小时前
【强化学习】#7 基于表格型方法的规划和学习
学习·强化学习
四谷夕雨2 小时前
C++八股 —— 手撕shared_ptr
开发语言·c++
十五年专注C++开发2 小时前
CMake指令:add_library()
开发语言·c++·cmake·自动化编译工具
真的想上岸啊2 小时前
学习STC51单片机14(芯片为STC89C52RC)
单片机·嵌入式硬件·学习
hello1114-2 小时前
Redis学习打卡-Day6-Redis 高可用(上)
数据库·redis·学习
慕卿扬2 小时前
基于python的机器学习(九)—— 评估算法(二)
python·学习·机器学习·scikit-learn