DoubleLi

qq: 517712484 wx: ldbgliet

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
上一页 1 ··· 379 380 381 382 383 384 385 386 387 ··· 474 下一页

2013年12月11日

摘要: 当一个基于对话框的程序中有相当多的控件时,你一定会想到使用属性页来将这些控件分类放置。本文针对这种方法来讨论几种可能实现的方案。方案一本方案的例子请见源代码打包文件中的Property1部分在对话框上放置一个Tab Control的控件,再在对话框上放置所需的控件(本例放置了2个按钮,试图在每个标签中显示一个)。然后利用Class Wizard来为Tab Control控件创建一个控件变量,该变量是CTabCtrl类的,再为其他控件也创建相应的控件类。 在主对话框的初始函数中CProperty1Dlg::OnInitDialog()加入如下代码://本例插入两个标签,实际运用中可通过循环插入所 阅读全文
posted @ 2013-12-11 20:59 DoubleLi 阅读(754) 评论(1) 推荐(1)

摘要: 各种关于文件的操作在程序设计中是十分常见,如果能对其各种操作都了如指掌,就可以根据实际情况找到最佳的解决方案,从而在较短的时间内编写出高效的代码,因而熟练的掌握文件操作是十分重要的。本文将对Visual C++中有关文件操作进行全面的介绍,并对在文件操作中经常遇到的一些疑难问题进行详细的分析。 1.文件的查找 当对一个文件操作时,如果不知道该文件是否存在,就要首先进行查找。MFC中有一个专门用来进行文件查找的类CFileFind,使用它可以方便快捷地进行文件的查找。下面这段代码演示了这个类的最基本使用方法。 CString strFileTitle; CFileFind finder... 阅读全文
posted @ 2013-12-11 20:58 DoubleLi 阅读(1606) 评论(0) 推荐(0)

摘要: 过阅读本文你可以学习如何有效地使用 CString。 CString 是一种很有用的数据类型。它们很大程度上简化了MFC中的许多操作,使得MFC在做字符串操作的时候方便了很多。不管怎样,使用CString有很多特殊的技巧,特别是对于纯C背景下走出来的程序员来说有点难以学习。这篇文章就来讨论这些技巧。 使用CString可以让你对字符串的操作更加直截了当。这篇文章不是CString的完全手册,但囊括了大部分常见基本问题。这篇文章包括以下内容: CString 对象的连接格式化字符串(包括 int 型转化为 CString )CString 型转化成 int 型CString 型和 char*.. 阅读全文
posted @ 2013-12-11 20:56 DoubleLi 阅读(497) 评论(1) 推荐(0)

摘要: 进行程序设计时,选用一个合适的ActiveX控件,有时可大大减少编程工作量。ActiveX 控件(又称OCX)基于COM技术,作为独立的软件模块,它可以在任何程序设计语言中插入使用。本文仅以VC++为例说明Chart控件的使用。 Chart控件指Mschart.ocx(5.0版)或Mschrt20.ocx(6.0 版),是Visual Studio自带的ActiveX控件之一,其属性、事件很多,功能非常强大,可实现柱状直方图、曲线走势图、饼状比例图等,甚至可以是混合图表,可以是二维或三维图表,可以带或不带坐标系,可以自由配置各条目的颜色、字体等等。一 安装和使用Chart控件 在用到Ch... 阅读全文
posted @ 2013-12-11 20:55 DoubleLi 阅读(1813) 评论(0) 推荐(0)

摘要: 框窗、视图和文档及其关系 MFC架构的另外一个特色是它的框窗、视图和文档这个三位一体的结构,它是一个典型的MVC(Model、ViewandControler)结构。严格的讲,框窗不属于MVC中的任何一项,MFC设计者将框窗加进来是为了能更好的协调文档和视图。而MVC中的Controler这一项,则是应用本身的应用逻辑。在这三者中,需要特别注意的、也最能够体现个人的编程水平的是框窗。一旦三者都存在于内存中,它们的关系就变得很简单。本章将讨论下述内容: 1.MFC的RTTI(RunTimeTypeInspection,运行时类型检查) 框窗、视图和文档的创建顺序和过程。 框窗、视图和... 阅读全文
posted @ 2013-12-11 20:46 DoubleLi 阅读(279) 评论(0) 推荐(1)

摘要: MFC的消息映射机制 MFC的设计者们在设计MFC时,紧紧把握一个目标,那就是尽可能使得MFC的代码要小,速度尽可能快。为了这个目标,他们使用了许多技巧,其中很多技巧体现在宏的运用上,实现MFC的消息映射的机制就是其中之一。 同MFC消息映射机制有关的宏有下面几个: DECLARE_MESSAGE_MAP()宏 BEGIN_MESSAGE_MAP(theClass,baseClass)和END_MESSAGE_MAP()宏 弄懂MFC消息映射机制的最好办法是将找出一个具体的实例,将这些宏展开,并找出相关的数据结构。 DECLARE_MESSAGE_MAP() DECLARE_ME... 阅读全文
posted @ 2013-12-11 20:44 DoubleLi 阅读(430) 评论(2) 推荐(1)

摘要: MFC的WinMain 使用MFC编程的程序员刚开始都会提出这样一个问题:我的程序是从哪儿开始执行的?回答是:从WinMain()开始执行的。提出这样的问题是由于在他们所编写的MFC应用中看不到WinMain()函数。这个函数是隐藏在MFC框架中,MFC的设计者将它作得很通用(这主要得益于Window的消息驱动的编程机制,使得作一个通用的WinMain()很容易),因此在一般情况下,无需更改WinMain()的代码,MFC的设计者也不提倡程序员修改WinMain()的代码。在MFC中,实际实现WinMain()的代码是AfxWinMain()函数(根据其前缀Afx就知道这是一个全局的MFC函. 阅读全文
posted @ 2013-12-11 20:43 DoubleLi 阅读(315) 评论(0) 推荐(0)

2013年12月10日

摘要: 在这里,我想谈谈自己学习MFC的一些体会。我是从1997年才开始在Window下编写程序的。在这之前,我编写过一些DOS程序,包括一个简单的全屏幕编辑器和一个带函数的表达式解释器,都是一些小的程序。Window3.1流行后,我开始在它下面编写程序。 从编写DOS程序到编写Window程序,需要从编程思想上作一个比较大的调整。在DOS下编写程序,程序的总体流程完全由应用程序自己控制;但在Window下,程序的总体流程是由操作系统控制的,这一点对在DOS下“胡作非为”的DOS程序员而然,特别不习惯,思想上一时很难转过弯来,总觉得操作系统所控制的应用程序流程能够满足我们所提出的任意要求吗?万一某个. 阅读全文
posted @ 2013-12-10 08:56 DoubleLi 阅读(523) 评论(2) 推荐(1)

摘要: MFC中的窗口创建及窗口消息映射我经常碰到有人问我有关窗口创建的问题,他们经常把用HWND描述的系统窗口对象和用CWnd描述的MFC的窗口对象混淆不清。这两者之间是紧密联系在一起的,但是MFC为了自身的管理,在CWnd中加了一些额外的内容,包括如何从HWND生成CWnd。 在MFC中,有几种典型的窗口对象,CWnd描述的一般窗口对象,CView描述的视图对象,CFrameWnd描述的SDI框窗对象,CMDIFrameWnd描述的MDI框窗对象等等。在这一章中,主要讨论下述内容: MFC中窗口的创建 MFC的消息映射机制(MESSAGE MAP) 对于上面两点MFC的设计者们使用了很高的... 阅读全文
posted @ 2013-12-10 08:55 DoubleLi 阅读(398) 评论(0) 推荐(0)

2013年12月9日

摘要: 一、问题的提出编写一个耗时的单线程程序: 新建一个基于对话框的应用程序SingleThread,在主对话框IDD_SINGLETHREAD_DIALOG添加一个按钮,ID为IDC_SLEEP_SIX_SECOND,标题为“延时6秒”,添加按钮的响应函数,代码如下:voidCSingleThreadDlg::OnSleepSixSecond(){Sleep(6000);//延时6秒} 编译并运行应用程序,单击“延时6秒”按钮,你就会发现在这6秒期间程序就象“死机”一样,不在响应其它消息。为了更好地处理这种耗时的操作,我们有必要学习——多线程编程。二、多线程概述 进程和线程都是操作系统的概念... 阅读全文
posted @ 2013-12-09 20:58 DoubleLi 阅读(630) 评论(1) 推荐(0)

上一页 1 ··· 379 380 381 382 383 384 385 386 387 ··· 474 下一页