您的位置:首页 > 其它

VC MFC基本控件的使用

2005-05-19 15:06 555 查看

《面向对象程序设计》可视化编程

(Copyrights © CHM21st)

  MFC 开发 Windows 应用程序入门

◆ Visual C++ 6.0 开发环境

  VC++ 是微软 Visual Studio 的组件之一。它具有编辑、编译、调试等多项功能,是用于开发 Windows 应用程序的重要工具。

VC++ 主窗口构成

VC++ 工具栏

VC++ 菜单栏

工作区和工程项目

  Project(工程项目)
  在学习 C 语言时,已经学过 Project(可译作工程或项目)的概念。开发一个应用程序,就是一个 Project。在 C 语言中,如果程序较小,只有一个 C 源文件,可以不建立 Project 文件。当程序较大,尤其是多人共同开发时,必须建立 Project。在 Project 中,可能会有不同类型的文件,如 C 文件,H 文件,lib 文件等。
  用 VC++ 开发应用程序时,必须有 Project。

  Workspace(工作区)
  用 VC++ 开发应用程序时,先建立工作区,然后在工作区内建立 Project。在初学阶段,一个工作区内,一般只有一个 Project。
   注意保存工作区文件。继续工作应先打开工作区。

◆ 用 MFC 开发 Windows 应用程序

应用程序界面形式的分类

  1.单文档界面(SDI,Single Documant)
  应用程序运行时,只能打开一个文档。例如“记事本”或“写字板”。

  2.多文档界面(MDI,Multiple Document)
  应用程序运行时,可以同时打开多个文档。例如 Word 或 Excell。

  3.基于对话框(Dialog based)
  应用程序显示一个简单的对话框来处理用户的输入。例如“计算器”。

MFC AppWizard ()

  MFC(Microsoft Foundation Class)微软基本类库提供了200多个编写好的类,Windows 应用程序的开发者可以直接实例化这些类,用于自己的程序,也可以在此基础上派生自己的类。这可以避免重复性工作,提高开发效率。

  基于 MFC 的 AppWizard(应用程序编程向导)可以为开发人员生成基本的应用程序框架,使编程工作易于进行。

◆ 例1.1 开发一个单文档的“记事本”程序

启动 VC++,选择 New,在 Projects 选项卡中点选 MFC AppWizard(exe),选择(或输入)子目录,输入工程名,单击 OK。

在 Step 1 选择 Single Document。在 Step 6,利用下拉式列表框选择 CEditView 作为视图类的基类。

编译后运行。

◆ 例1.2 单选钮的应用。界面如下:



本题的程序可在上一题程序的基础上进行。

添加 Radio Button (单选钮)。在第一个单选钮的属性(Properties)中,选中 Group(将四个单选钮设为一组)。

利用 ClassWizard (类向导)将该组设置单选钮设成一个整型变量。

修改 OnOK 的程序代码:

void CV12Dlg::OnOK()
{
UpdateData(TRUE);
if(m_nRadio==0) m_nResult=m_nOp1+m_nOp2;
if(m_nRadio==1) m_nResult=m_nOp1-m_nOp2;
if(m_nRadio==2) m_nResult=m_nOp1*m_nOp2;
if(m_nRadio==3) m_nResult=m_nOp1/m_nOp2;
UpdateData(FALSE);
}

编译后运行。

◆ 例1.3 各种控件的使用。界面如下:



在ClassWizard中设置变量:



程序如下:

(1) 移动滑块时在右侧文本框内显示数字:
void CV13Dlg::OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar)
{
UpdateData(TRUE);
CSliderCtrl* slider=(CSliderCtrl*)pScrollBar;
int pos=slider->GetPos();
m_nEdit3=pos+pos/2+100;
UpdateData(FALSE);
CDialog::OnHScroll(nSBCode, nPos, pScrollBar);
}

(2) 按下"OK"按钮显示信息:
void CV13Dlg::OnOK()
{
UpdateData(TRUE);
CString msg;
char s1[10];
msg=m_sName;
if(m_nRadio==0) msg+=" 男 ";
if(m_nRadio==1) msg+=" 女 ";
msg+=m_sAge;
msg+="岁\r\n身高:";
msg+=itoa(m_nHeight,s1,10);
msg+="cm \r\n爱好:";
if(m_bSport) msg+="体育 ";
if(m_bMusic) msg+="音乐 ";
if(m_bArt) msg+="美术 ";
MessageBox(msg);
}

(3) 初始化对话框(加在InitInstance()函数中, 中间三行是添加的):
CV13Dlg dlg;
dlg.m_nRadio =0;
dlg.m_sAge = "19";
dlg.m_nHeight=100;
m_pMainWnd = &dlg;

  说明:加了第二行程序, 打开对话框时, “性别”已选择为“男”。
  加了第三行程序, 打开对话框时, “年龄”显示“19”。
  加了第四行程序, 打开对话框时, “身高”显示“100”。

编译后运行。

◆ 作业:仿照例题编程序上机。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: