当前位置: 首页 > news >正文

MFC基础学习应用

MFC基础学习应用

1.基于对话框的使用

在这里插入图片描述

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

    附图

    在这里插入图片描述

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

    附图

在这里插入图片描述

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

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

3.最后运行效果截图

在这里插入图片描述

二.基于单个文档的使用

在这里插入图片描述

1.画线//神器类向导

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

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

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

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.类向导勾选注意事项

截图:

在这里插入图片描述

三.画笔

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

在这里插入图片描述

五.画刷

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

运行效果截图

在这里插入图片描述

默认画刷

在这里插入图片描述

相关文章:

  • STM32多功能交通灯系统:从原理到实现
  • 从boost库到时间戳
  • HTML5 WebSocket:实时通信的新篇章
  • 群晖虚拟化创建存储池失败问题解决
  • IIS配置網站登錄驗證,禁止匿名登陸
  • Django中间件探索:揭秘中间件在Web应用中的守护角色与实战应用
  • ConcurrentHashMap详解
  • LabVIEW故障预测
  • (7)摄像机和云台
  • Ubuntu20.04 使用scrapy-splash爬取动态网页
  • 电脑ffmpeg.dll丢失原因解析,找不到ffmpeg.dll的5种解决方法
  • python实战:将视频内容上传到社交媒体平台
  • python爬虫之aiohttp多任务异步爬虫
  • DeepSORT(目标跟踪算法) 卡尔曼滤波的完整流程
  • 【Android】怎么使APP进行开机启动
  • [ 一起学React系列 -- 8 ] React中的文件上传
  • 【剑指offer】让抽象问题具体化
  • Android 控件背景颜色处理
  • Apache Spark Streaming 使用实例
  • ES学习笔记(12)--Symbol
  • iOS 系统授权开发
  • IOS评论框不贴底(ios12新bug)
  • mysql中InnoDB引擎中页的概念
  • Nginx 通过 Lua + Redis 实现动态封禁 IP
  • React Native移动开发实战-3-实现页面间的数据传递
  • 阿里云ubuntu14.04 Nginx反向代理Nodejs
  • 程序员该如何有效的找工作?
  • 分享一个自己写的基于canvas的原生js图片爆炸插件
  • 解析带emoji和链接的聊天系统消息
  • 利用阿里云 OSS 搭建私有 Docker 仓库
  • 码农张的Bug人生 - 见面之礼
  • 微信支付JSAPI,实测!终极方案
  • 责任链模式的两种实现
  • 最简单的无缝轮播
  • MyCAT水平分库
  • ​​​​​​​开发面试“八股文”:助力还是阻力?
  • ​第20课 在Android Native开发中加入新的C++类
  • #调用传感器数据_Flink使用函数之监控传感器温度上升提醒
  • #每天一道面试题# 什么是MySQL的回表查询
  • #我与Java虚拟机的故事#连载03:面试过的百度,滴滴,快手都问了这些问题
  • $.extend({},旧的,新的);合并对象,后面的覆盖前面的
  • %check_box% in rails :coditions={:has_many , :through}
  • (2/2) 为了理解 UWP 的启动流程,我从零开始创建了一个 UWP 程序
  • (笔记)Kotlin——Android封装ViewBinding之二 优化
  • (二) Windows 下 Sublime Text 3 安装离线插件 Anaconda
  • (附源码)spring boot校园拼车微信小程序 毕业设计 091617
  • (回溯) LeetCode 131. 分割回文串
  • (经验分享)作为一名普通本科计算机专业学生,我大学四年到底走了多少弯路
  • (七)Knockout 创建自定义绑定
  • (算法)大数的进制转换
  • (转)为C# Windows服务添加安装程序
  • .bat批处理(九):替换带有等号=的字符串的子串
  • .net core Swagger 过滤部分Api
  • .Net Core 中间件验签
  • .NET Remoting Basic(10)-创建不同宿主的客户端与服务器端