通俗基础教程
电脑操作教程
电脑怎样拨号上网
如何做个人网页
怎样做局域网
Word教程(文字处理)
图形图象处理入门
经典提高教程
怎样使用代理服务器
如何做无盘工作站
Photoshop教程
Dreamweaver3教程
Flash4&5教程
Firework3教程
Frontpage2000教程
Authware教程
Office2000教程
如何制作动画图片
OICQ&ICQ使用方法

高手学习指南

硬件升级技巧
CGI教程
ASP教程

PHP教程

注册表使用技巧
路由器的设置
网站建设指南
SQL
最近更新:
Flash
相关内容

1:问题:我怎样才能建立一个等待光标?
解答:调用BeginWaitCursor函数来启动等待光标,调用EndWaitCursor函数 来结束等待光标。要注意,二者都要调用app的成员函数,如下所示:
AfxGetApp()->BeginWaitCursor(); // 要做的事 AfxGetApp()->EndWaitCursor(); 2:问题: 我在MDI框架中有个form视窗。它有个取消按钮,我需要当用户按取 消按钮时可关闭form视窗。我应该如何关闭该文档?
解答:调用OnCloseDocument函数。
3:问题: 什么是COLORREF? 我该怎样用它?
解答:COLORREF是一个32-bit整型数值,它代表了一种颜色。你可以使用RGB 函数来初始化COLORREF。例如: COLORREF color = RGB(0, 255, 0); RGB函数接收三个0-255数值,一个代表红色,一个代表绿色,一个代表蓝 色。在上面的例子中,红色和蓝色值都为0,所以在该颜色中没有红色和蓝色。 绿色为最大值255。所以该颜色为绿色。0,0,0为黑色,255,255,255为白色。 另一种初始化COLORREF的方法如下所示: CColorDialog colorDialog;
COLORREF color; if( colorDialog.DoModal() == IDOK )
{ color = colorDialog.GetColor(); }
这段代码使用了MFC中的颜色对话框,它需要文件。
4:问题: 我在我的程序中是了CDWordArray。我向它添加了约10,000个整数,这使 得它变得非常非常慢。为什么会这么糟?
解答:CDWordArray是很好用的,只是因为你没有指定数组的最大尺寸。因此, 当你添加新元素时,该类会从堆中重新分配空间。不幸的是,该类会在每次插入 新元素时都为数组重新分配空间。如果你向它添加了很多新元素,所有这些分配 和复制数组的操作会就会使它变慢。解决该问题的方法是,你可以使用SetSize 函数的第二个参数来改变这种重新分配的频率。例如,如果你把该参数设置为500 ,则每次数组空间超出时它才重新分配并添加500个新空间,而不是1个。这样一来 ,你就可以不用重新分配而添加了另外499个元素空间,这也会大大提高程序的运 行速度。
5:问题: AppWizard所产生的STDAFX文件是干什么用的?
解答:它主要是协助产生预编译头文件的。通常你是不需要修改它的。
6:问题:在我的程序的某些部分,我可以调用 MessageBox 函数来建立一个信息对话 框,例如在视类中。但是,在其它部分我却不能,如文档类中。为什么?我怎样才 能在我的应用程序类中建立一个信息对话框?
解答:MessageBox函数来自CWnd类,所以你只能在从CWnd继承的类(如CView)中调 用它。但是,MFC也提供了AfxMessageBox函数,你可以在任何地方调用它。
7:问题:我该如何改变MDI框架窗口的子窗口的大小以使在窗口以一定的大小打开?
解答:在视中的OnInitialUpdate函数中调用GetParentFrame函数。GetParentFrame 会返回一指向一保存有该视的框架窗口的指针。然后调用在框架窗口上调用MoveWindow。
8:问题:我需要在我的程序中设置全局变量,以使文档中的所有类都能访问。我应该 吧它放到哪儿?
解答:把该变量放到该应用程序类的头文件中的attribute处。然后,在程序的任何 地方,你都可以用下面的方法来访问该变量: CMyApp *app = (CMyApp *)AfxGetApp(); app->MyGlobalVariable = ...
9:问题:我听说MFC可以发现内存漏洞,我怎样使用该特性?
解答:如果你在Debug菜单中的Go选项(不是Project菜单中的Execute选项)来运行你 的应用程序,MFC应该在程序终止时报告内存漏洞。如果没有,那么试试运行MFC Tracer 工具程序(在VC++程序组中),并启动跟踪。然后返回应用程序。
10: 问题:我怎样才能在我的应用程序中循环浏览已经打开的文档?
解答:使用CDocTemplate中未公开的GetFirstDocPosition()和GetNextDoc()函数。 11:问题:我怎样才能在我的应用程序中循环浏览已经打开的视?
解答:使用CDocument中未公开的GetFirstViewPosition()和GetNextView()函数。
12: 问题:虚拟函数PreCreateWindow是干什么用的?
解答:PreCreateWindow允许你在调用CreateWindow之前来改变窗口属性。
13: 问题:我应该怎样防止MFC在窗口标题栏上添加文档名?
解答:在PreCreateWindow函数中删除FWS_ADDTOTITLE标志的窗口样式: cs.style &= ~FWS_ADDTOTITLE ;
14:问题:我应该怎样防止MFC在窗口标题栏上把文档名预置成应用程序名?
解答:在PreCreateWindow函数中删除FWS_PREFIXTITLE标志的窗口样式:
cs.style &= ~FWS_PREFIXTITLE;
15:问题:我应该如何改变视窗口的大小?
解答:因为视窗口实际上是框架窗口的子窗口,所以你必须改变框架窗口的大小,而不 是改变视窗口。使用CView类中的GetParentFrame()函数获得指向框架窗口的指针,然 后调用MoveWindow()函数来改变框架的大小。这会使变尺寸的视充满框架窗口。
16:问题:我有一无模式对话框。我怎样才能在窗口退出时删除CDialog对象?
解答:把“delete this”加到PostNcDestroy中。这主要用在需要自动删除对象的场合。
17:问题:为什么把“delete this”放在PostNcDestroy中而不是OnNcDestroy?
解答:OnNcDestroy只被已建立的窗口调用。如果建立窗口失败(如PreCreateWindow), 则没有窗口处来发送WM_NCDESTROY消息。PostNcDestroy是在对象窗口被完全删除, 在OnNcDestroy后,甚至在窗口建立失败之后调用的。
18:问题:File菜单中的MRU列表是从哪儿来的?列表中的名字放在哪儿了?我怎样 才能改变列表中项目的最大值?
解答:在应用程序类的InitInstance函数中对LoadStdProfileSettings的调用中。 该调用接受一个参数(在缺省情况下如果没有传递值则为4)。MRU文件名是从INI文 件中调用的。如果你有带有ID_FILE_MRU_FILE1的ID的菜单选项,它会为调入的MRU 列表所替换。如果你改变传递给LoadStdProfileSettings的数值(最大为16),则你 就改变了所装如文件名的最大值。
19:问题:我在菜单中添加了新的项。但是,当我选该项时,在状态栏上没有出现任何 提示信息。为什么?
解答:打开资源文件中的菜单模板。打开新菜单选项的属性对话框。在对话框的底 部的Prompt编辑框中,你可以如下指定状态栏上的提示信息和工具栏上的提示信息 (如果你已经建立的工具栏按钮): Status bar string\nFlying tag

用VB实现多文件查找与替换功能
用VB 5.0 设计Browser及FTP程序
用Visual Basic 5.0设计E-mail程序
谈谈WIN API在VB中的应用
在VB中使用Word的“艺术字”工具
获取Win95特殊目录准确路径
VC技巧一
VC19问
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
教程站
收集整理



月光软件源码下载编程文档电脑教程网站优化网址导航网络文学游戏天地生活休闲写作范文安妮宝贝站内搜索
电脑技术编程开发网络专区谈天说地情感世界游戏元素分类游戏热门游戏体育运动手机专区业余爱好影视沙龙
音乐天地数码广场教育园地科学大观古今纵横谈股论金人文艺术医学保健动漫图酷二手专区地方风情各行各业

月光软件站·版权所有