VC6 如何调用MFC类

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了VC6 如何调用MFC类相关的知识,希望对你有一定的参考价值。

VC6 如何调用MFC类
比如调用CObject要包含什么头文件,等其他的注意事项》。
我想从本质上去学习MFC,先一个一个类进行用,再整体学习文档与视图以及对话框?!

分两种情况:
1。创建工程的时候,你选择MFC Application在你的程序中就可以直接用。
2。如果你创建的是Win32 Application工程,如果想使用MFC的某个类可以如下方式来操作:
a)首先选择菜单里的 Project->Settings。打开的属性对话框里右侧点General选项卡(默认打开的就是这个)有个Microsoft Foundation Classes的选项。此时选择的是Not Using MFC,更改其为Use MFC in a shared DLL。
b)接下来查MSDN看想要使用的类包含在哪个头文件里,如我想使用MFC的CString类,经查询,需要包含Afx.h头文件。将其包含到工程中就可以使用了
注意一点:非常重要,Afx.h的位置写在哪里呢?如果它出现在#include <Windows.h>之后,编译就会报错。
所以,打开StdAfx.h文件,就能找到Windows.h的位置了。加在其之前!
#include <Afx.h>
#include <windows.h>
编译...通过!
祝好运!
参考技术A 分两种情况:
1。创建工程的时候,选择MFC Application在程序中就可以直接用。
2。如果创建的是Win32 Application工程,想使用MFC的某个类可以如下方式来操作:
a)首先选择菜单里的 Project->Settings,打开的属性对话框里右侧点General选项卡有个MicrosoftFoundation Classes的选项,此时选择的是Not Using MFC,更改其为Use MFC in a shared DLL。
b)接下来查MSDN看想要使用的类包含在哪个头文件里,如想使用MFC的CString类,经查询,需要包含Afx.h头文件,将其包含到工程中就可以使用了。
注意一点:非常重要,Afx.h的位置如果它出现在#include <Windows.h>之后,编译就会报错。
所以,打开StdAfx.h文件,就能找到Windows.h的位置了,加在其之前!
#include <Afx.h>
#include <windows.h>
参考技术B 创建工程的时候选择下面的MFC Application, MFC DLL等等,不需要再去手动增加什么就可以使用MFC了。 参考技术C 建工程项目时选MFC的项目就可以了,不用自己加头文件

MFC VC++6.0 对话框怎么获得文档类中的数据

我的目标是:
我插入了一个对话框,生成了一个新类叫ShowDlg,当然,继承的CDilog;里面有一个编辑框和一个显示按钮;
我的C*Doc类里处理了一些数据,想把这些数据传到ShowDlg的编辑框里进行显示;

我想实现的效果是:
先ShowDlg sDlg出一个新对话框,一点击那个显示按钮就在编辑框显示C*Doc类里的数据

我的做法是:
我把按钮响应函数写在ShowDlg.cpp里,再#include "C*Doc.h","C*.h"什么的之后,调用GetDocument();说我的GetDocument()没有定义。。是不是GetDocument()需要其他头文件?

不知道表述清楚没哈,请问各位高手帮忙看看应该怎么解决,或者怎么实现?拜谢。。

可以这样
C*Doc是你原有的一个类,CShowDlg是你的新对话框,假设m_nNum1是CShowDlg的成员变量。那么,很简单的,在C*Doc里这么写:
CShowDlg dlg;
dlg.m_nNum1=10;
dlg.DoModal();
这样对话框就出来了。
在这个新的对话框里,将编辑框关联一个int型变量(比如m_nVar1),添加按钮的响应函数,在函数里写:
m_nVar1=m_nNum1;
UpdateData(FALSE);
就可以了,编辑框显示10。
参考技术A GetDocument()是CView的函数,你的对话框类当然不能调用。
修改你的对话框类的构造函数,将文档指针传入。
CShowDlg dlg(CDocument *pDocument);
得到文档指针了问题就解决了吧?本回答被提问者采纳
参考技术B 用全局变量吧 MFC写代码的时候都不怎么能看到对象的 获取不了
全局变量在sdafx里定义就行了

以上是关于VC6 如何调用MFC类的主要内容,如果未能解决你的问题,请参考以下文章

vc6.0里MFC进度条如何使用

在VC6.0做的MFC程序,如何在BS中用浏览器打开

MFC如何调用DLL(VC++)

VC6.0的程序结束后进程不自动结束,如何解决?

VC6.0中基于对话框的MFC EXE中的Tab Control控件如何使用???

如何更改弹出菜单的字体大小(MFC、VC6)