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);

}

运行效果截图

默认画刷

相关推荐
肆忆_1 天前
# 用 5 个问题学懂 C++ 虚函数(入门级)
c++
不想写代码的星星1 天前
虚函数表:C++ 多态背后的那个男人
c++
端平入洛3 天前
delete又未完全delete
c++
端平入洛4 天前
auto有时不auto
c++
西岸行者5 天前
学习笔记:SKILLS 能帮助更好的vibe coding
笔记·学习
哇哈哈20215 天前
信号量和信号
linux·c++
多恩Stone5 天前
【C++入门扫盲1】C++ 与 Python:类型、编译器/解释器与 CPU 的关系
开发语言·c++·人工智能·python·算法·3d·aigc
蜡笔小马5 天前
21.Boost.Geometry disjoint、distance、envelope、equals、expand和for_each算法接口详解
c++·算法·boost
悠哉悠哉愿意5 天前
【单片机学习笔记】串口、超声波、NE555的同时使用
笔记·单片机·学习
超级大福宝5 天前
N皇后问题:经典回溯算法的一些分析
数据结构·c++·算法·leetcode