1.用MFC做系统界面应用程序,怎么弄
我自己一直在做这个。我做的是VC6.0 MFC+ACCESS的。缺MFC42D.Dll,,你去网上下载一个,配好vc的编程环境。
首先建Projects,一般是MFCAppWiza【exe】,基于对话框或者单文档的,你自己根据需求选择。
然后再资源标签页Resources,拖控件到对话框上做界面。
给界面变量赋值、给按钮添加函数。
最后编译成Release版本的应用程序exe,可以不依赖编程环境在任何一台电脑上运行了。
2.怎样用MFC做一个图形界面程序
给你个最最简单的MFC程序。你可以打开2005 新建win32 程序 建立空项目 然后编写如下代码//hello.cpp
#include <afxwin.h>
// 说明应用程序类
class CHelloApp : public CWinApp
{
public:
virtual BOOL InitInstance();
};
// 建立应用程序类的实例
CHelloApp HelloApp;
// 说明主窗口类
class CHelloWindow : public CFrameWnd
{
CStatic* cs;
public:
CHelloWindow();
};
// 每当应用程序首次执行时都要调用的初始化函数
BOOL CHelloApp::InitInstance()
{
m_pMainWnd = new CHelloWindow();
m_pMainWnd->ShowWindow(m_nCmdShow);
m_pMainWnd->UpdateWindow();
return TRUE;
}
// 窗口类的构造函数
CHelloWindow::CHelloWindow()
{
// 建立窗口本身
Create(NULL,
"Hello World!",
WS_OVERLAPPEDWINDOW,
CRect(0,0,200,200));
// 建立静态标签
cs = new CStatic();
cs->Create("hello world",
WS_CHILD|WS_VISIBLE|SS_CENTER,
CRect(50,80,150,150),
this);
} 这样就出来了。
/b304234/d17269213.htm 你可以看这篇文章,非常好的入门文章
3.如何制作带MFC界面的MFC DLL
最近在做基于组件化MFC界面的开发,需要把界面封装到动态库中。
一:工程创建步骤 1.创建MFC DLL工程,选择 “在共享 DLL 中使用 MFC”。2.运行时库选择:c/c++-->代码生成-->运行库 “多线程调试 DLL (/MDd)”。
二:定义导出界面基类定义导出界面接口类,待导出界面需要继承该接口类,并实现该接口定义的虚函数。如下:class IHpDllWin:public CDialog{public:// 构造函数,ID为窗口资源IDIHpDllWin(int id):CDialog(id){}// 初始化,如客户端网络环境virtualvoidInit(const char* svrip,const int port)=0;// 清理,如客户端网络环境virtual voidFinit()=0;// 显示窗口virtualintShowWin()=0;// 设置参数virtualvoidSetParam(string p1)=0;};该接口类继承于CDialog,所有导出的界面也只能是对话框,如果需要导出其他类型窗口类,修改该基类继承的窗口类。
三:定义导出接口动态库将定义一个导出函数,该函数返回导出界面基类的指针。在外部获得该导出界面对象指针,可以对该界面进行操作。
AFX_MANAGE_STATE(());IHpDllWin *ph = App_SelOrgDlg::instance();return ph;}四:调用方式采用动态方式调用该动态库,调用步骤如下: 1.加载动态库 HINSTANCE m_hDll = LoadLibrary("SelectOrgControl.dll");if (NULL == m_hDll){MessageBox("加载 SelectOrgControl.dll 失败");} 2.获取导出函数指针 typedef IHpDllWin* (*hpDllFun)(); hpDllFun pShowDlg = (hpDllFun)GetProcAddress(m_hDll,"GetSelOrgControl");if (NULL==pShowDlg){MessageBox("DLL中函数寻找失败");return;} 3.获取导出类对象指针 IHpDllWin* m_hpwin = pShowDlg(); 获取导出窗口类指针,获取了对该导出窗口的控制。
4.如何制作带MFC界面的DLL
方法/步骤
1
新建MFC DLL项目,项目名称“MyDLL”,创建新解决方案,解决方案名称为“MFCDLL”。
2
进入MFC DLL向导,选择下一步,选择“使用共享MFC DLL的规则DLL”。点击“完成”按钮。
3
创建MFC DLL项目成功。运行时库选择:属性-->c/c++-->;代码生成-->;运行库 “多线程调试 DLL (/MDd)”。
4
点击项目右键,添加MFC类。输入类名:IHpDllWin,选择基类:CDialog,点击完成。
5
动态库将定义一个导出函数,该函数返回导出界面基类的指针。在IHpDllWin.cpp写导出接口:
// 定义导出接口
extern "C" __declspec(dllexport) IHpDllWin* ShowDialog()
{
// 切记,此处需要加下面这行代码,不然对话框显示不出来。
AFX_MANAGE_STATE(());
IHpDllWin *ph = new IHpDllWin;
ph->Create(IHpDllWin::IDD);
ph->ShowWindow(SW_SHOW);
return ph;
}
6
生成MyDLL.dll。MFC DLL程序创建完成。
7
新建MFC应用程序,名称为MyMFC,解决方案名称为MFCEXE。
8
进入MFC应用程序向导,点击下一步,应用程序类型选择“基于对话框”,然后一直点击下一步,最后点击完成。
9
在对话框中拖入按钮,双击该按钮,进入代码编辑。
10
采用动态方式调用该动态库,调用步骤如下:
1.加载动态库
HINSTANCE m_hDll = LoadLibrary("MyDLL.dll");
if (NULL == m_hDll)
{
MessageBox("加载 MyDLL.dll 失败");
}
2.获取导出函数指针
typedef IHpDllWin* (*hpDllFun)();
hpDllFun pShowDlg = (hpDllFun)GetProcAddress(m_hDll,"ShowDialog");
if (NULL==pShowDlg)
{
MessageBox("DLL中函数寻找失败");
return;
}
3.获取导出类对象指针
IHpDllWin* m_hpwin = pShowDlg();
获取导出窗口类指针,获取了对该导出窗口的控制。
11
把MyDLL.dll拷到目标工程的Debug目录下,复制IHpDllWin.h到目标工程的目录下。
12
添加IHpDllWin.h,右键,添加现有项,选择IHpDllWin.h,添加。
13
在MyMFCDlg.cpp头部加入#include "IHpDllWin.h",然后编译生成exe。主界面完成。
14
运行。按“Ctrl+F5”运行,运行结果如图。
5.老师教的MFC,可是win10不能安装vc++6.0怎么办
可以兼容,不过需要设置兼容模式,下面是如何在win8/8.1/10上安装vc++6.0的方法: 从网上下载安装包后,解压打开,从中找到setup.exe 右键点击setup.exe属性,选项中选择兼容性,点击以兼容性运行这个程序,并在兼容模式中选择windows XP(Serice Pack 3),设置什么也不要勾选,再点击确认。
双击setup.exe,像安装其他的程序一样安装就行,点击next,继续 按默认继续点击下一步的操作,如图填写,两个都填写microsoft。上面一行不用填 其他都按默认 出现次页面时,选择是继续 选择custom继续 后面默认,出现此窗口时,勾选点击ok确认, 后面的的安装继续默认就行了 注意事项 主要就是注意点击setup.exe 时需要把属性里的兼容性设置好。
转载请注明出处windows之家 » MFC怎么做win10界面