【问题标题】:Creating a Windows GUI .exe application创建 Windows GUI .exe 应用程序
【发布时间】:2010-10-11 20:51:39
【问题描述】:

我有一个 C/C++ 算法,我想为其创建一个 GUI 应用程序。我更喜欢可以传递给人们的 .exe 应用程序。我最好创建我的 c/c++ 算法的 dll,然后将其捆绑到 Windows GUI 应用程序中,该应用程序基本上只是主 c/c++ 应用程序的包装器。如何在 VC++ 中使用几个按钮、一个文本框和一个文件选择器/浏览器/打开器来创建这个 GUI?

有人可以解释一下这个问题吗?

谢谢,

阿布舍克

【问题讨论】:

    标签: windows user-interface visual-c++


    【解决方案1】:

    有许多不同的选项。首先我们有微软支持的库:

    • MFC - windows api 最重量级的库。
    • ATL - 一个更小、更轻量级的库。
    • Windows API - 直接使用 Windows API。

    除此之外,还有许多第三方 GUI 工具包,特别是:

    • GTK+
    • WxWidgets

    如果您想使其尽可能小并避免使用外部 DLL,您应该直接使用 Windows API 或可能使用 ATL。这也为您提供了额外的灵活性,但它有点复杂。看看例如theForger's tutorial。它有点老了,但无论如何,过去十年 api 或多或少保持不变。

    以下是直接使用 API 的一些额外提示:

    • 通常所说的控件称为“窗口”,是使用CreateWindowEx() 创建的。此函数根据指定的“窗口类”创建不同的东西,例如编辑、按钮和静态(如下所述)。您可以通过注册自定义类来创建常规窗口。
    • 您可以使用名为GetOpenFileName() 的函数来调用打开的对话框。
    • 通用文本框在 API 中称为 edit control
    • 按钮简称为button controls
    • 标签称为static controls
    • 如果满足您的目的,您还可以使用CreateDialog() 创建一个对话窗口。这可能更容易一些,因为可以使用资源编辑器设计对话框,而您必须以编程方式在常规窗口中创建所有控件。

    【讨论】:

    • 当然你可以只使用windows forms和.net
    • 啊。 C++/CLI。我以为你在说别的。我省略了它,因为它不是标准 C++,而是在 CLR 中运行的超集,而且我只是模糊地意识到它。当然,它比其他选项更容易,因为您可以访问 Windows 窗体。
    • 大家好,我确实了解在 Visual Studio 中创建 Windows 窗体应用程序并在窗体上布局 UI 组件的部分。我的问题是,如何将(我现有的 C/C++ 算法的)dll 捆绑到这个 Form 应用程序中?单击一个按钮,我只需将我从文件浏览器中选择的文件路径传递给 dll 中的一个函数。一旦获得文件路径,该函数就会完成其余的工作。所以简而言之,我想围绕我的代码创建一个 GUI,它可以在命令提示符控制台中正常工作。谢谢,阿布舍克
    【解决方案2】:

    在 Visual Studio 中:

    1. 文件 -> 新项目

    2. 在左侧面板中选择“Visual C++”(或 C#,如果您愿意),在右侧面板中选择 Windows 窗体应用程序。点击确定。

    3. 创建项目后,在工具箱面板中,您可以找到 Button、Edit Box、OpenFileDialogs 和 SaveFileDialogs(您需要)。如果找不到 Toolbox 面板,可以在 View->Toolbox 菜单中启用它。

    4. 只需将所需的控件拖放到程序窗口上即可。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-05-01
      • 2010-10-04
      • 2018-04-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多