【问题标题】:Is there a Designer for MFC in Visual Studio like for windows forms in .NET?Visual Studio 中的 MFC 设计器是否像 .NET 中的 Windows 窗体一样?
【发布时间】:2011-02-12 00:58:31
【问题描述】:

我是一名 .NET 程序员。我从来没有在 MFC 中开发过任何东西。目前我不得不为一些图像处理任务编写一个 C++ 应用程序(控制台)。我写完了。但关键是我还需要为此设计 GUI。嗯,不会有什么复杂的。只是一个带有几个按钮、单选按钮、复选框、图片框和几个滑块的窗口。而已。

我正在使用 VS 2008,并期待一个 .NET 样式的表单设计器。

为了测试,我创建了一个 MFC 项目(所有默认配置),这些文件是默认创建的:

ChildFrm.cpp
MainFrm.cpp
mfc.cpp
mfcDoc.cpp
mfcView.cpp
stdafx.cpp

现在,我找不到Designer。没有视图 > 设计器。我已经打开了上述所有 *.cpp 并在代码编辑器中右键单击以查看“设计器视图”。 ToolBox 是空的,因为我处于代码编辑器模式。

如何打开设计师?

【问题讨论】:

  • 看起来您上面问题中的图像已损坏(现在是showing an ad instead)。您能否将图像重新上传到 stack.imgur,或编辑您的问题以将其删除?
  • 有一个设计器...但它的功能不如 WinForms 设计器。例如,将标签的基线与文本框的基线精确对齐或将边距/填充调整到所需的确切像素要困难得多。

标签: visual-studio-2008 mfc


【解决方案1】:

Win32 对话框设计器可用于对话框。创建新项目,在 Application Type Wizard 步骤中选择“Dialog-based application”。创建项目后,打开Resource View,展开Dialogs节点,双击主对话框,对话框设计器打开。

对于已创建的 MDI/SDI 应用程序,您可以在向导步骤之一中选择 CFormView 作为基类。这将创建一个嵌入框架的对话框,设计器在资源视图中可用。

此外,对于每个 Win32/MFC 应用程序,您可以从资源视图添加新对话框(不是主窗口)。

【讨论】:

  • 我不知道你使用的是哪个版本的 VS r,但是这里没有“基于对话框的应用程序”。我用的是vs2008 pro。我找不到您所说的“资源视图”。
  • 这在 VS 2019 上在哪里?
【解决方案2】:

here。它类似于表单设计器,但应该可以帮助您入门。

【讨论】:

    【解决方案3】:

    这扩展了 Alex Farber 的回答,基本上是正确的,但有些不完整。

    当您第一次创建应用程序时,您可以选择应用程序类型:

    如您所见,Application type 的默认选择是“Multiple Documents”,但在其下方是“Dialog Based”。选择它会生成一个应用程序,其主窗口(默认情况下)有一个“确定”按钮和一个“取消”按钮(以及一个静态控件,上面写着“在此处添加控件”)。当您完成应用程序的创建后,您可以添加更多控件来让它做一些有用的事情。这往往最适合生命周期相对较短的应用程序——即,您打开它们,填写一些字段,然后单击“确定”(或“取消”)再次关闭它们。它也适用于其他场景,但这确实是它的主要优势。

    对于更像典型 .NET 应用程序的东西,具有普通菜单等,而且能够在窗口表面放置控件,您通常会在此处选择“单个应用程序”,但当您进入“生成的类”屏幕:

    在视图类的基类下拉列表中,您需要将默认CView 的选择更改为CFormView。这为您提供了一种组合:您的应用程序作为一个整体基于 Document/View 架构,但您的 View 类基本上就像一个对话框,因此它可以承载控件。当您单击“完成”按钮时,它会警告您打印支持将不可用。假设您同意,它将创建您的应用程序。要为您的窗口编辑表单(与您正在寻找的设计器的一般顺序相同),您将在左侧的“资源视图”工具窗口中,并在对话框列表中打开表单:

    打开它将(再次)让您使用对话框编辑器在表单上放置控件等:

    总而言之:MFC 为您提供了更多选择。这些选择中的一个(或者说是两个)与您对 .NET/WinForms 的习惯非常接近。其他的则完全不同——碰巧的是,默认选项属于“不同”类别。

    【讨论】:

    • 这在 VS 2019 上仍然可用吗?
    • @Jack:是的。他们稍微改变了巫师的外观和感觉,但相同的基本“东西”仍然存在。哦,不过有一个细节:要安装 MFC,您现在必须进入 VS 安装程序的“单个组件”选项卡,然后选择您想要的 MFC 版本。他们提供的任何“工作负载”选项都没有安装它。
    猜你喜欢
    • 2016-10-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-15
    • 1970-01-01
    • 2010-11-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多