vc++
h490516509
这个作者很懒,什么都没留下…
展开
-
双缓冲技术绘图
双缓冲即在内存中创建一个与屏幕绘图区域一致的对象,先将图形绘制到内存中的这个对象上,再一次性将这个对象上的图形拷贝到屏幕上,这样能大大加快绘图的速度。当数据量很大时,绘图可能需要几秒钟甚至更长的时间,而且有时还会出现闪烁现象,为了解决这些问题,可采用双缓冲技术来绘图。过程编辑双缓冲实现过程如下:1、在内存中创建与画布一致的缓冲区2、在缓冲区画图...转载 2019-05-09 14:47:42 · 547 阅读 · 0 评论 -
VC界面绘制双缓存
转载请注明原文网址:http://www.cnblogs.com/xianyunhe/archive/2011/11/20/2255811.html1、闪屏的问题在GDI的绘图系统中,每调用一次区域绘图操作,如FillRect、BitBlt等,图形显示系统就会在屏幕中对指定的区域进行一次刷新操作。如果频繁的进行区域绘制操作的操作的话,我们就会发现,屏幕会出现闪屏。使用下面的代码对闪屏...转载 2019-07-04 00:21:53 · 130 阅读 · 0 评论 -
Invalidate()
InvalidateRect只是增加重绘区域,在下次WM_PAINT的时候才生效InvalidateRect函数中的参数TRUE表示系统会在你画之前用背景色将所选区域覆盖一次,默认背景色为白色,可以通过设置BRUSH来改变背景色。Invalidate()之后:(MFC的,顺便了)OnPaint()->OnPrepareDC()->OnDraw()所以只是刷新在OnPaint...转载 2019-07-03 22:14:25 · 4730 阅读 · 0 评论 -
CImagelist 基本用法
1.综述在MFC中CImageList类封装了图像列表控件的功能,图像列表是一个具有相同大小的图像(可以是不同类型)的集合,其主要用于应用程序中大规模图标的存储。该控件是不可见的,通常与其它如CListBox,CComboBox,CComboBoxEx,CTabCtrl以及CTreeCtrl一起使用,为他们提供图标资源。图象的每个集合中均以0为图象索引基数,可以把这些图标看成是以数组方式存储...转载 2019-07-09 14:43:11 · 860 阅读 · 0 评论 -
MFC之CTreeCtrl树型控件使用
1.0 从工具箱中拖树型控件到对话框窗口,控件ID IDC_WEB_TREE ,如下图所示2.0 在对话框头文件添加以下两个类对象public: CTreeCtrl m_TreeCtrl; //用于与控件相连 CImageList m_ImageListTree; //用于存放图片3.0 控件与类对象相...转载 2019-07-09 14:17:47 · 3650 阅读 · 0 评论 -
GDI
1、概述 GDI在全称是Graphics Device Interface,即图形设备接口。是图形显示与实际物理设备之间的桥梁。GDI接口是基于函数,虽然使程序员省力不少,但是编程方式依然显得麻烦。例如显示一张位图,我们需要进行“创建位图,读取位图文件信息,启用场景设备,调色板变化“等一系列操作。然而有了GDI+,繁琐的步骤再次被简化。顾名思义,GDI+就是GDI的增强版,它是微...转载 2019-07-03 16:01:45 · 222 阅读 · 0 评论 -
创建菜单
常用菜单操作函数文中涉及到的VC++中常见的菜单只要操作如下:GetMenu() - 获得与框架窗口相链接的菜单。InsertMenu() – 在指定位置插入新的菜单项,其他的选项向下移。GetSubMenu() – 获得子菜单指针。GetMenuItemCount() – 得到菜单下的菜单项的个数。AppendMenu() – 添加一个新菜单。GetMenuString() – 获...转载 2019-07-08 23:57:41 · 433 阅读 · 0 评论 -
静态创建菜单
首先在资源管理器中建立菜单资源,从而得到菜单资源IDIDR_MENU2 CMenu menu; CMenu *pSubMenu; menu.LoadMenu(IDR_MENU2); pSubMenu = menu.GetSubMenu(0); CPoint point1; GetCursorPos(&point1); p...转载 2019-07-08 23:39:11 · 217 阅读 · 0 评论 -
MFC之Tab Control控件简单使用
转:https://blog.csdn.net/u010780613/article/details/53883634 在MFC当中使用Tab Control控件切换不同的界面,使用起来会复杂一些,至少是比Qt中的Tab Widget复杂得多。我接下来会以一个MFC对话框应用程序为例子,说明Tab Control控件的简单使用方法。1.1建立一个MFC对话框应用程序,在对话框中...转载 2019-07-08 17:19:23 · 644 阅读 · 0 评论 -
MFC六大关键技术
我并不认为MFC减轻了程序员们的负担,MFC出现的目的虽然似乎是为了让程序员不用懂得太多就可以进行视窗编程,但本人在MFC里徘徊了很久很久(因为那时没有书本详细介绍MFC的原理),毫无收获。可能朋友们会说,怎么一定要了解MFC的具体呢,“黑箱”作业不行吗?这不是微软的初衷吗? 不行!!!如果这样,我宁愿永远不选择MFC!在学电脑之前,本人学习的东西大都与艺术不无关系,小学时参加过全国书画比赛...转载 2019-07-08 16:28:30 · 1017 阅读 · 1 评论 -
改变菜单栏的文字
CMenu * menuBar; menuBar = (CMenu *)(this->GetMenu()); menuBar->ModifyMenu(0, MF_BYPOSITION, MF_SEPARATOR, L"1"); menuBar->ModifyMenu(1, MF_BYPOSITION, MF_SEPARATOR, L"2"); menuBar-&...转载 2019-07-08 16:11:17 · 746 阅读 · 0 评论 -
mfc多媒体定时器timeSetEvent
转:https://blog.csdn.net/tongsean/article/details/40562857今天在调试项目的时候用到timeSetEvent,编译的时候没有出现错误,但运行的时候就会出现程序崩溃,在网上找了很多资料,参照MSDN,最终解决,特将遇到的问题和解决方法在此介绍,希望遇到同样问题的兄弟也能迅速定位问题。查看MSDN,timeSetEvent的用法如下:...转载 2019-07-08 13:02:20 · 1437 阅读 · 0 评论 -
MFC框架类、文档类、视图类相互访问的方法
1、获取应用程序指针CMyApp* pApp=(CMyApp*)AfxGetApp();2、获取主框架指针CWinApp 中的公有成员变量 m_pMainWnd 就是主框架的指针CMainFrame* pMainFrame = (CMainFrame*)(AfxGetApp()->m_pMainWnd);或者CMainFrame* pMainFrame = (CMai...转载 2019-07-04 11:01:42 · 438 阅读 · 0 评论