VC++绘制金刚石(MFC)】的更多相关文章

void CTxx1View::OnDraw(CDC* pDC){ CTxx1Doc* pDoc = GetDocument(); ASSERT_VALID(pDoc); // TODO: add draw code for native data here //CDC * pDC=GetDC();//设备上下文指针 typedef struct { double x; double y; }zuobiao; zuobiao P[n]; CRect rect;//定义矩形对象 GetClient…
在MFC程序设计的学习过程中最令人感到难受,甚至于有时会动摇学习者信心的就是一种对于程序的一切细节都没有控制权的感觉.这种感觉来源于学习者不知道一个MFC程序是如何运行起来的(即一个MFC程序的执行流程)和MFC程序的设计思想和机制,即使是写过Windows程序的学习者,也会感到非常迷惘并且无从下手.而这种感觉的出现会使大家认为自己离开了书本上的例子就无法设计编制程序.下面我就来说一说一个MFC具体是如何被执行的.在阅读本文之前,你要有一定的Windows程序设计基础,知道Windows程序的运…
title VS2005  VS2008添加变量,添加函数,添加类时弹出 Script Error  解决办法 问现象描述 : 问题大家都清楚了.不赘述 错误提示 :file:///C:/Program%20Files/Microsoft%20Visual%20Studio%209.0/VC/VCWizards/CodeWiz/MFC/Simple/HTML/1033/default.htm 解决方法: 打开注册表,找到 HKEY_CURRENT_USER/Software/Microsoft/…
理论上不管什么控件都适用,方法如下: 新建一个MFC类,继承原来的控件类型,对于VC自动生成的类进行如下改动: 首先覆盖 OnEraseBkgnd() 防止擦除时填涂背景: BOOL CXXXCtrl::OnEraseBkgnd(CDC* pDC) {     return TRUE; } 然后覆盖 OnPaint(),原理是先在内存DC中绘图,之后再一股脑将画出的东东填涂到窗体上. 代码 void CXXXCtrl::OnPaint() {     CPaintDC dc(this);    …
1. 微软基础类库(英语:Microsoft Foundation Classes,简称MFC)是一个微软公司提供的类库(class libraries),以C++类的形式封装了Windows API,并且包含一个应用程序框架,以减少应用程序开发人员的工作量.其中包含的类包含大量Windows句柄封装类和很多Windows的内建控件和组件的封装类.    2. MFC中最重要的封装是对Win32 API的封装,因此,理解Windows Object和MFC Object (C++对象,一个C++…
  注意点: 1. 必须类型序列化声明    DECLARE_SERIAL( Person )  2. 必须写出实现宏 IMPLEMENT_SERIAL(Person, CObject, VERSIONABLE_SCHEMA | 2)  3. 重写CObject中的Serialize函数 void Person::Serialize( CArchive& ar ) {  CObject::Serialize(ar);  //关键代码  if(ar.IsStoring()) {   //序列化  …
20.7.2小节介绍了如何使用Direct2D在应用窗口中绘制图片,本小节将基于20.7.2小节的项目进一步介绍如何实现文本的绘制.打开D2DBasicAnimation.h头文件,并在D2DBasicAnimation类中添加如下的代码: private:     //声明成员变量textLayout     Microsoft::WRL::ComPtr<IDWriteTextLayout> textLayout;     //声明成员变量textFormat     Microsoft::…
在使用Direct2D绘制图片的过程中,通过IWICImagingFactory工厂接口来得到绘制图片所需要的资源.本小节将介绍如何通过IWICImagingFactory工厂接口得到这些资源,并使用这些资源在应用窗口中绘制一张图片.在20.7.1小节所新建的Direct2DDemo项目基础上,继续介绍绘制图片的实现代码. 在绘制图片之前,首先需要在项目中添加一张图片.右键点击解决方案资源管理器窗口中的项目图标,在弹出的菜单栏中选中"添加",并在"添加"的子菜单栏中…
打开D2DBasicAnimation.h头文件,并在D2DBasicAnimation类中添加如下的代码: private:     //声明成员变量point     D2D1_POINT_2F point;     //声明成员变量xVector     float xVector;     //声明成员变量yVector     float yVector; 在上面的代码中,使用private关键字声明了三个私有的成员变量point.xVector.yVector,其中point为D2D…
三角形绘制完成以后,接下来介绍如何给项目添加主入口函数.打开D2DBasicAnimation.h头文件,添加如下的代码定义一个DirectXAppSource类. //定义类DirectXAppSource,实现IFrameworkViewSource接口 ref class DirectXAppSource : Windows::ApplicationModel::Core::IFrameworkViewSource { public:     //实现IFrameworkViewSourc…
在绘制三角形之前,首先需要创建一个三角形,打开D2DBasicAnimation.h头文件,在D2DBasicAnimation类中添加如下的代码: private:     //声明成员变量objectGeometry     Microsoft::WRL::ComPtr<ID2D1PathGeometry> objectGeometry; private:     //创建图形     void CreateShape(); 在上面的代码中,使用private关键字声明一个私有的成员变量o…
新建了Direct2D中的资源后,接下来初始化用于绘制图形的应用窗口.在解决方案资源管理器窗口中右键点击项目图标,在弹出的菜单栏中选中"添加", 并在"添加"的子菜单栏中选择"新建项",在出现的"添加新项"窗口中选中"C++ 文件(.cpp)",添加名为"D2DBasicAnimation.cpp"的源文件.然后使用同样的方法在"添加新项"窗口中选中"头文件…
本小节主要介绍如何使用Direct2D来绘制几何图形,其中会使用到FillGeometry函数和FillEllipse函数,FillGeometry函数用于填充几何图形的内部区域,而FillEllipse函数则专门用于填充椭圆的内部区域.下面将分别来介绍如何使用FillGeometry函数和FillEllipse函数在应用窗口中绘制简单的三角形和圆形. 1.使用FillGeometry函数绘制三角形 本示例中所要添加的代码比较多,为了让读者能更为清晰地了解如何使用Direct2D绘制几何图形,下…
上例建立的dll为非MFC的,不能使用MFC框架,如CString.对话框等类型,使用起来有一定限制.可以建立MFC的Dll来改进.建立MFC Dll的方法: 1.在VC6中新建工程时选择:MFC AppWizard(dll) 2.保持默认的 Regular Dll using shared MFC DLL完成. 3.此时生成的App具有.h .cpp两个文件,与上面只有.cpp有所不同 4.相同的是在.cpp文件中 添加函数 extern "C" __declspec(dllexpo…
注:需要在windows xp下才可以使用Windows Media Player插件,在windows 7下面会找不到该插件. 1.Windows Media Player控件的主要方法: 1)GetMute:获得静音属性 2)GetPlayState:获得播放状态 3)GetVolume:获得音量 4)Open:打开播放文件 5)Pause:暂停 6)Play:播放 7)SetShowControls:设置是否显示控制面板 2.应用: void PlayDlg::OnPlay() { CFi…
Ctrl + W 掉出来class管理 添加OnDestory方法 void CPackUpItemToSetDlg::OnDestroy() { exit(1); CDialog::OnDestroy(); // TODO: Add your message handler code here }…
Ctrl组合键ASCII码 ^Z代表Ctrl+z                     ASCII值 控制字符  ASCII值 控制字符  ASCII值 控制字符  ASCII值 控制字符0(00)        NULL       8(08)        ^H         16(10)    ^P             24(18)    ^X1(01)         ^A           9(09)        ^I            17(11)    ^Q    …
1.Insert -> New Class -> 在Base Class中选择CEdit,在Name中输入CMyEdit. 2.在左边的ClassView中,右键击CMyEdit,选择Add Windows message Handle,在弹出的框左边选择WM_CHAR,添加并编辑该消息如下: void CMyEdit::OnChar(UINT nChar, UINT nRepCnt, UINT nFlags) { if(nChar!=49 && nChar!=48) { re…
一.引言 上一专题中,纯手动地完成了一个Windows应用程序,然而,在实际开发中,我们大多数都是使用已有的类库来开发Windows应用程序.MFC(Microsoft Foundation Class, 微软基础类库)是微软为了简化程序员的开发工作而将Windows API 封装到C++类中,利用这些类,程序员可以有效地完成Windows平台下应用程序的开发.本专题将详细剖析它. 二.利用向导创建一个MFC程序 用于帮助有效地开发Windows应用程序的类库除了MFC外,还有其他开源类库提供,…
/************************************************************************************** * VC++ 6.0 C8051F340 MFC programming note * 声明: * 本文主要在使用VC++ 6.0 MFC的时候,对一些之前不知道的东西进行记录. * * 2015-10-16 晴 深圳 南山平山村 曾剑锋 ******************************************…
VC++ 创建基于MFC的SDI应用程序,Visual Studio风格的主界面如下图所示,在该主界面上的视图菜单下包含有队对各个可停靠窗格显示或隐藏的控制菜单项.而基于Ribbon风格的应用程序,所以视图菜单下面的其他菜单都不显示了,只剩下了一个控制状态条显示或隐藏的CheckBox. 问题:MFC程序使用了Ribbon风格的,所以其他菜单都不显示了.有一个系统自动生成的停靠窗格,被该窗格不小心关掉后,再调试也显示不出来了.肿么办啊? 解答:消除停靠位置,存储记忆功能:在CMainFrame中…
VC++6.0的最基本使用方法,创建一个c++项目工程可参考:https://jingyan.baidu.com/article/8ebacdf0cbdb5749f75cd54a.html 这里面的操作步骤很详细,我就不多说了. 但是有一些注意项: VC++创建一个完整项目工程的思路:先建立一个项目工程(具体什么样的项目依据具体情况),然后再在这个工程里面建立相应的源文件,例如cpp文件.h文件.bmp文件等. VC++可以编写c程序和c++程序,当我们在选择C++ Souce File这一项之…
一.FFmpeg+SDL+MFC视频播放器 1.MFC知识 1).创建MFC工程的方法 打开VC++ 文件->新建->项目->MFC应用程序 应用程序类型->基于对话框 取消勾选"使用unicode库" 其中,在创建的过程中,单个文档表示意思是只有一个页面(窗口),多个文档表示的意思是有多个页面(窗口). 2).设置控件 找到“工具箱”,就可以将相应的控件拖拽至应用程序对话框中 常用控件有:Button,Edit Control,Static Text等 找到“…
一.前言 众所周知,二维GIS技术发展了近四十年,伴随着计算机软硬件以及关系型数据库的飞速发展,二维GIS技术已日臻完善.在对地理信息的分析功能上有着无可比拟的优势.一些宏观的地理信息,一维的地理信息,如河流.公路等,以及二维的地理信息,如植被.湖泊.人口数量等,在对这些地理信息的分析和处理上,比较适合采用二维GIS系统.二维GIS始于20世纪60年代的机助制图,今天它已经深入社会的各行各业,如土地管理.电力.电信.水利.消防.交通.规划等,但二维GIS有其自身难以克服的缺陷,它本质上是基于抽象…
常用类 CRect:用来表示矩形的类,拥有四个成员变量:top left bottom right.分别表是左上角和右下角的坐标.可以通过以下的方法构造: CRect( int l, int t, int r, int b ); 指明四个坐标 CRect( const RECT& srcRect ); 由RECT结构构造 CRect( LPCRECT lpSrcRect ); 由RECT结构构造 CRect( POINT point, SIZE size ); 有左上角坐标和尺寸构造 CRect…
本文主要讲述基于VC++6.0 MFC图像处理的应用知识,主要结合自己大三所学课程<数字图像处理>及课件进行解说,主要通过MFC单文档视图实现显示BMP图片空间几何变换.包含图像平移.图形旋转.图像反转倒置镜像和图像缩放的知识. 同一时候文章比較具体基础.没有採用GDI+获取矩阵.而是通过读取BMP图片信息头和矩阵像素实现变换,希望该篇文章对你有所帮助,尤其是刚開始学习的人和学习图像处理的学生. [数字图像处理]一.MFC具体解释显示BMP格式图片        [数字图像处理]二.MFC单文…
本文主要讲述基于VC++6.0 MFC图像处理的应用知识,主要结合自己大三所学课程<数字图像处理>及课件进行解说.主要通过MFC单文档视图实现显示BMP图片点运算处理.包含图像灰度线性变换.灰度非线性变换.图像阈值化处理.图像均衡化处理等知识,并结合前一篇论文灰度直方图进行展示 .同一时候文章比較具体基础,希望该篇文章对你有所帮助,尤其是刚開始学习的人和学习图像处理的学生. [数字图像处理]一.MFC具体解释显示BMP格式图片        [数字图像处理]二.MFC单文档切割窗体显示图片  …
一.引言 上一专题中,纯手动地完成了一个Windows应用程序,然而,在实际开发中,我们大多数都是使用已有的类库来开发Windows应用程序.MFC(Microsoft Foundation Class, 微软基础类库)是微软为了简化程序员的开发工作而将Windows API 封装到C++类中,利用这些类,程序员可以有效地完成Windows平台下应用程序的开发.本专题将详细剖析它. 二.利用向导创建一个MFC程序 用于帮助有效地开发Windows应用程序的类库除了MFC外,还有其他开源类库提供,…
原创文章,欢迎阅读,禁止转载. 问题现象不知道从什么时候开始,我的vs2010不能新建MFC程序了,报错如图:... 解决方法根据提示排查,发现是应用程序向导的相关html被损坏了.从同事电脑上把  D:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\VCWizards  里的文件拷过来,覆盖我电脑上相应文件,问题解决! 原因分析vs的应用程序向导是用html做的,而html页面有可能会被病毒感染.例如会在html的最后添加几行js代码从…
利用VC中的MFC进行界面设计时,发现界面上的各控件无法简易地进行调整,比如字体大小.颜色.格式等. 为了改变外观,小小地美化一下,今天决定动手一试. 网上提供的库和方法不计其数,我选择了SkinMagic的破解版http://ishare.iask.sina.com.cn/f/34174084.html. 其实具体用时,只需其中的几个文件,下面简单介绍一下整个流程: 1.打开VC6.0,新建一个MFC基于对话框的应用程序Skin: 2.在CSkin.cpp(.h文件添加在StdAfx.h中也可…