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

}

运行效果截图

默认画刷

相关推荐
ajassi200017 分钟前
开源 C++ QT Widget 开发(七)线程--多线程及通讯
linux·c++·qt·开源
mit6.82439 分钟前
8.27 网格memo
c++·算法
jeffery8921 小时前
4056:【GESP2403八级】接竹竿
数据结构·c++·算法
Forward♞1 小时前
Qt——界面美化 QSS
开发语言·c++·qt
快乐的划水a3 小时前
解释器模式及优化
c++·设计模式·解释器模式
岁忧4 小时前
(LeetCode 每日一题) 498. 对角线遍历 (矩阵、模拟)
java·c++·算法·leetcode·矩阵·go
kyle~4 小时前
C/C++---前缀和(Prefix Sum)
c语言·c++·算法
竹杖芒鞋轻胜马,夏天喜欢吃西瓜5 小时前
二叉树学习笔记
数据结构·笔记·学习
_Kayo_5 小时前
React 学习笔记2 props、refs
笔记·学习·react.js
YxVoyager6 小时前
【C++标准库】<ios>详解基于流的 I/O
c语言·c++