gpt4 book ai didi

c++ - 使用对话框以图形方式检索用户输入

转载 作者:行者123 更新时间:2023-11-30 02:00:02 26 4
gpt4 key购买 nike

我不是 C++ 新手,但这是我第一次开发 Win32 程序。它必须是图形化的,所以我一直在尝试使用输入/对话框获取用户输入,但没有成功。

我已阅读 this topic on MSDN并发现它很有帮助,但我收到有关未定义 IDD_PASSWORDIDE_PASSWORD 的错误。在 resource.h 中声明它们并提供任意值(如 110、111)不会产生任何结果。我尝试修改自动生成的关于框的其他尝试,修改后也没有结果,我注意到如果我更改 resource.h 中的 IDD_ABOUTBOX 的值从103开始,这也行不通。我也试过在资源 View 下使用.rc,但仍然没有结果。

所以我想知道资源框模板是否有我必须使用的预定义常量数字,如果是的话在哪里,因为我也搜索过它,或者是否有另一种方法可以在窗口应用程序中获取用户输入。我只想获得一个整数,仅此而已。

最佳答案

分配给资源的数字没有什么神奇之处。这些数字是代码实际用来标识资源的数字。 Visual Studio 仅允许您通过使用 C 宏(即 #define)为这些数字分配符号名称,以使您的代码更易于阅读。按照约定,这些值都在文件 resource.h 中定义,尽管您可以手动修改该文件,但通常不应该这样做 — 让 Visual Studio 资源编辑器为您处理。

您遇到的问题是您实际上必须先创建这些资源,然后数字才有意义。当您创建一个新的 Win32 项目时,Visual Studio 将自动创建一个关于框对话框并为其指定符号 ID IDD_ABOUTBOX。但是,在新项目中没有默认创建这样的 IDD_PASSWORD 对话框,Windows 中也没有内置对话框。

您可以使用对话框编辑器(Visual Studio 资源编辑器的一部分)自己创建此对话框,这很容易做到,因为它允许您在所见即所得的对话框上拖动控件。当您向项目资源添加新对话框时,您可以选择任意命名。如果需要,您可以使用 IDD_PASSWORD 或任何其他名称。将根据算法自动分配一个数字ID;通常使用最低的可用数字。

您链接到的文章假设您已经使用符号名称IDD_PASSWORD(这可能是作者的错误)向您的项目添加了一个对话框。它向您展示的只是如何在该对话框作为项目资源的一部分存在后显示该对话框。


仅通过阅读 MSDN 文档来学习 Win32 编程会有些困难。我强烈建议你买一本能更清楚、更有逻辑地解释它的书。规范文本是 Charles Petzold 的 Programming Windows, 5th Edition .请注意,您需要确保获得第 5 版,如 the newer editions digress from their Win32 roots and start talking about completely unrelated things like C# and Silverlight .

如果您绝对必须通过反复试验和 MSDN 学习,请开始阅读对话框资源 here .

关于c++ - 使用对话框以图形方式检索用户输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15563648/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com