01:

了解了SDK编程,消息队列,消息响应,消息循环,窗口函数等。

02:

可以冒号:父类构造函数和a(1)

protected子类可以访问

覆盖:父类子类之间   重载:同一个类中

::作用域标识符,表明函数是属于哪一个类的

父类和子类的对象首地址相同

用虚函数实现多态

纯虚函数为子类服务

引用不需要占据内存

可以用预编译指令符解决包含多次重复定义的问题,但是不需要用到定义的值)(定义和没有值不是一个概念,有命名规则是为了避免重复定义,别人也定义了这个宏)

预编译,你加个屁断点

03:

这集看着好枯燥,只需要了解即可。

04:

只能在客户区作图,View没有非客户区

Frame包含菜单menu和工具栏toolbar但是menu不在客户区内不能画图

CClien和CDC相比不用显示调用ReleaseDC了,表示客户区,关键是this还是GetParent(),表示获得了什么的…CDC CClientDC CWindowDC;DC和什么窗口有关 hdc hwnd

CPen *poldPen = dc.SelectObject(&pen); 返回当前设备上下文中的笔,并替换将其替换成新的笔,一般删除的是地址的内容而不是地址

类的静态成员函数可以直接用类名调用,其他不能用,以为没有创建对象时才会分配内存空间,而静态成员函数遇到类就为其分配内存空间了,并且函数内用到的成员变量也需要是静态的,因为成员变量也要有空间。若条用了静态成员函数,那么静态成员变量要在外部初始化,int 类名::x=0;

 void CDrawLineView::OnLButtonDown(UINT nFlags, CPoint point)
{
// TODO: 在此添加消息处理程序代码和/或调用默认值
/*CPoint pt_start(50, 50);
CPoint pt_end(150, 150);
CDC *pDC = GetDC();
pDC->MoveTo(pt_start);
pDC->LineTo(pt_end);
ReleaseDC(pDC);*/ /*CPoint pt_start(50,50);
CPoint pt_end(150, 150);
HDC hdc = ::GetDC(m_hWnd);//全局的GetDC
MoveToEx(hdc, pt_start.x,pt_start.y,NULL);
LineTo(hdc, pt_end.x, pt_end.y);*/ /*CWindowDC dc(GetDesktopWindow());
CPen pen(PS_SOLID, 1, RGB(0, 255, 0));
CPen *poldPen = dc.SelectObject(&pen);
//dc.MoveTo(50, 50);
//dc.LineTo(150, 150);
CBrush brush(RGB(255, 0, 0));
dc.FillRect(CRect(50,50,150,150),&brush);
dc.SelectObject(poldPen);
DeleteObject(&pen);*/ /*CBitmap bitmap;
bitmap.LoadBitmap(IDB_BITMAP1);
CBrush brush(&bitmap);
CClientDC dc(this);
dc.FillRect(CRect(100, 100, 200, 200),&brush);//Rectangle需要selectobject*/ /*CClientDC dc(this);
CBrush *pBrush = CBrush::FromHandle((HBRUSH)GetStockObject(NULL_BRUSH)); //HBRUSH HGDIOBJ 强制转换成HBRUSH 透明(空)画刷
CBrush *poldBrush = dc.SelectObject(pBrush);
dc.Rectangle(100, 100, 200, 200);
dc.SelectObject(poldBrush);
DeleteObject(pBrush);*/
isDraw = true;
start_point = point;
old_point = point;
CView::OnLButtonDown(nFlags, point);
} void CDrawLineView::OnLButtonUp(UINT nFlags, CPoint point)
{
// TODO: 在此添加消息处理程序代码和/或调用默认值
isDraw = false;
CView::OnLButtonUp(nFlags, point);
} void CDrawLineView::OnMouseMove(UINT nFlags, CPoint point)
{
// TODO: 在此添加消息处理程序代码和/或调用默认值
CClientDC dc(this);
if (isDraw)
{
//dc.SetROP2(R2_WHITE);
dc.MoveTo(start_point);//画直线
dc.LineTo(old_point);
dc.MoveTo(old_point);//画边界
dc.LineTo(point);
old_point = point;
//start_point = point;
}
CView::OnMouseMove(nFlags, point);
}

孙鑫VC视频教程观看记录的更多相关文章

  1. 孙鑫VC++视频教程(1-20课全)

    孙鑫VC++视频教程(1-20课全)PPT讲义和源代码 http://down.51cto.com/data/467760 孙鑫VC++从入门到精通开发详解视频教程[20讲] http://down. ...

  2. 孙鑫VC++视频教程笔记

    写在前面的话:在学习孙鑫老师的VC++视频时,为了加深自己对知识的深入理解,就做了下面的笔记. 第一讲: 第二讲: 第三讲: 第四讲: 第五讲: 第六讲: 第七讲: 第八讲: 第九讲: 第十讲: 第十 ...

  3. 孙鑫VC学习笔记:多线程编程

    孙鑫VC学习笔记:多线程编程 SkySeraph Dec 11st 2010  HQU Email:zgzhaobo@gmail.com    QQ:452728574 Latest Modified ...

  4. 孙鑫VC学习系列教程

    教程简介 1.循序渐进 从Win32SDK编程开始讲解,帮助大家理解掌握Windows编程的核心 -- 消息循环机制. 2.通俗易懂 编程语言枯燥难懂,然而通过孙鑫老师形象化的讲解,Windows和M ...

  5. 孙鑫 VC++深入详解第14课——TCP通信/UDP通信(转)

    原文转自 http://blog.csdn.net/supersonico/article/details/18900319 一.用VC++来编写TCP 服务器/客户端的简单程序. 注意事项: 1.要 ...

  6. 孙鑫视频VC++深入详解学习笔记

    孙鑫视频VC++深入详解学习笔记 VC++深入详解学习笔记 Lesson1: Windows程序运行原理及程序编写流程 Lesson2: 掌握C++基本语法 Lesson3: MFC框架程序剖析 Le ...

  7. 孙鑫视频学习:VS2010中找不到【Tab order】菜单项

    在学习孙鑫视频中,修改Tab顺序时,找不到VC6.0中提到的[Layout]->[Tab order]菜单项,但VC2010中可以用Ctrl+D调出来Tab顺序,或者[格式]->[Tab键 ...

  8. 孙鑫视频学习:改变窗口过程函数中出现error C2440错误的解决方法

    在Visual Studio 2010中,即使代码是完完全全按照孙鑫视频中的敲,也会在出现error C2440,这是因为开发平台由VC6.0升级至VS2010,需要将原有的项目迁移.VS2010对消 ...

  9. 孙鑫视频学习:关于Visual Studio 2010中MFC工程的消息WM_INITDIALOG找不到的问题

    学习孙鑫的那个深入详解C++视频时,有一处给编辑框空间改写窗口过程函数的例子,其中需要添加一个WM_INITDIALOG消息响应函数,但在类向导的消息栏下找不到WM_INITDIALOG消息.解决方法 ...

随机推荐

  1. 写一个读取Excel表格的接口

    # -*- coding: gbk -*-import xlrd class Canshu: def __init__(self,filepath): """ 创建文件对 ...

  2. sklearn.metrics中的评估方法介绍(accuracy_score, recall_score, roc_curve, roc_auc_score, confusion_matrix)

    1 accuracy_score:分类准确率分数是指所有分类正确的百分比.分类准确率这一衡量分类器的标准比较容易理解,但是它不能告诉你响应值的潜在分布,并且它也不能告诉你分类器犯错的类型.常常误导初学 ...

  3. 1)基本的MFC程序创建过程

    1)基本的MFC创建过程: 2)   选择MFC应用程序: 3)然后选择特定的选项  直接完成就行了: 4)下面就是建成的样子: 5)然后是  运行结果: 6)有一个问题  那个  菜单栏是属于  F ...

  4. 第二季第十一天 html5语义化标签 css透明度

    span不能设置宽高背景 HTML5语义化标签 <section>标签所包裹的是有一组相似的主题的内容,可以用这个标签来实现文章的章节.标签式对话框中的各种标签页等类似的功能. <s ...

  5. JavaScript学习笔记 - 进阶篇(6)- JavaScript内置对象

    什么是对象 JavaScript 中的所有事物都是对象,如:字符串.数值.数组.函数等,每个对象带有属性和方法. 对象的属性:反映该对象某些特定的性质的,如:字符串的长度.图像的长宽等: 对象的方法: ...

  6. 如何把Visual Studio完全安装在其他磁盘

    //Visual Studio快把我c盘吃完了,就网上找了找解决方法,自己总结一下,方便理解 第一步 找到以下文件夹 C:\\Program Files (x86)\\Microsoft SDKs C ...

  7. WMS出库单重复

    发货通知单?WMS备货单选项勾选 不自动复制?新增?

  8. 47)PHP,数据库多表连接

    https://www.w3cschool.cn/mysql/56ik1sqv.html

  9. 吴裕雄--天生自然python学习笔记:python 用pygame模块制作 MP3 音乐播放器

    利用 music 对象来制作一个 MP3 音乐播放器 . 应用程序总览 从歌曲清单中选择指定的歌曲,单击“播放”按钮可开始播放, 在播放 xxx 歌曲”的信息. 歌曲播放的过程中,可以暂停.停止,也可 ...

  10. Image.FromStream(ms) 提示参数无效

    说明ms有问题,首先确保有读到数据,这种情况是保存到库的时候出错的. 原来你可能是这样写的: MemoryStream stream = new MemoryStream();PictureBox1. ...