动态链接库使用2(基于对话框)

来源:互联网 发布:c语言中cout什么意思 编辑:程序博客网 时间:2024/06/05 12:38
 
求球体、长方体,圆柱体表面积和体积。
1.建立动态链接库
1Visual C++6.0启动后,要先建立一个project工程文件。方法为:
   ·选择File|new 菜单项,将弹出New 对话框。
   ·单击Projects 选项卡
   ·在Location中填用户子目录路径
   ·在Project name中填入工程名(如area
   ·在列表中选择MFC AppWizard(dll),表示你编制的应用程序将生成动态链接库文件(.dll
   ·按照提示创建一个自己想要的工程
 
²       定位到area.h文件处,添加动态链接库的函数原型声明,下面为area.h的内容:
double qius(double r);
double qiuv(double r);
double chs(double a,double b,double c);
double chv(double a,double b,double c);
double yus(double r,double h);
double yuv(double r,double h);
 
²       定位到area.cpp 文件处,添加动态链接库中的函数的实现部分,下面为area.cpp的内容:
double qius(double r)
{ return 4.0*3.1416*r*r;}
double qiuv(double r)
{ return 4.0/3.0*3.1416*r*r*r;}
double chs(double a,double b,double h)
{return 2*(a+b+h);}
double chv(double a,double b,double h)
{ return a*b*h ;}
double yus(double r,double h)
{return (3.1416*r*r*2+3.1416*r*2*h);}
double yuv(double r,double h)
{ return (3.1416*r*r*h) ;}
²       area.def中引出DrawTree函数,下面为area.def的内容。
 qius
 qiuv
 chs
 chv
 yus
 yuv
链接全部
2)新建可执行程序
建立一个基于对话框的文件exe1
²       exe1.cpp中添加如下文件:
BOOL CExe1App::InitInstance()
{    SetDialogBkColor (RGB(0,0,255),RGB(255,255,0));
       AfxEnableControlContainer();}
把对话框背景设置为蓝色,字体颜色设为黄色
设置4edit 筐,分别代表半径,长,宽,高;6个按钮分别代表球体表面积,球体体积,长方体表面积,长方体体积,圆柱体表面积,圆柱体体积;另外设置六个edit筐来分别显示结果。
²         viewclass wizard中在设置一下各个控件的属性,把10edit IDC_EDIT1~1都设为double类型,按钮都设置为BN-CLICKED
²       :在exe1Dlg.cpp中添加如下代码:
       void CExe1Dlg::OnButton1()
{ UpdateData();
   m_qius=qius(m_r);
  UpdateData(false );
    // TODO: Add your control notification handler code here
   
}
 
void CExe1Dlg::OnButton2()
{   UpdateData();
   m_qiuv=qius(m_r);
   UpdateData(false );
    // TODO: Add your control notification handler code here
   
}
 
void CExe1Dlg::OnButton3()
{    UpdateData();
   m_chs=chs(m_a,m_b,m_h);
   UpdateData(false );
    // TODO: Add your control notification handler code here
   
}
 
void CExe1Dlg::OnButton4()
{   UpdateData();
   m_chv=chv(m_a,m_b,m_h);
   UpdateData(false );
    // TODO: Add your control notification handler code here
   
}
 
void CExe1Dlg::OnButton5()
{   UpdateData();
   m_yus=yus(m_r,m_h);
   UpdateData(false );
    // TODO: Add your control notification handler code here
   
}
 
void CExe1Dlg::OnButton6()
{ UpdateData();
   m_yuv=yuv(m_r,m_h);
   UpdateData(false );
    // TODO: Add your control notification handler code here
   
}
²       :记得添加头文件“area.h”,然后吧链接库中的三个文件:area.dllarea.harea.lib复制黏贴到exe1文件下。
²       :工程设置中,点击link,输入要链接的库area.lib
²       :最后重新链接全部,编译运行。
原始运行界面如下:
 
原创粉丝点击