是否有winAPI函数(没有类)从控制台应用程序创建子窗口。必须在窗口上打印形状图形,并将命令输入到控制台。
谢谢。
答案 0 :(得分:2)
为GUI应用程序创建控制台窗口更简单。 Have a look here
答案 1 :(得分:1)
我不确定你的意思是否是“女儿”的特定内容,但是控制台应用程序当然可以创建一个窗口(或者它喜欢的多少)。窗口化应用程序也可以分配控制台。
从窗口程序中分配控制台在理论上有点工作,但确实有一个优点:您可以使用您选择的应用程序框架(Qt,wxWidgets等)编写大部分窗口“东西”
如果您直接使用Windows API,则可以更轻松地创建控制台应用程序并根据需要创建窗口。在这种情况下,您需要做的就是像编写窗口程序一样编写代码,而不是WinMain
,而是命名您的输入函数main
。基于此,链接器将自动在可执行文件中设置“console”标志,Windows将在启动时为其提供控制台。这里的一大优势是C ++标准库会自动初始化,因此像cin
这样的东西都可以在不需要您付出额外努力的情况下工作。如果你从Windowed程序开始并分配一个控制台,默认情况下所有这些都将是Windows API函数(ReadConsoleInput
,WriteConsoleOutput
,ReadFile
,WriteFile
,你可以 让C和C ++函数运行起来,但是你必须处理一些记录很差的文档区域(这些区域都可以通过编译器的下一个版本进行更改)来实现它发生。除非我只打算使用Windows API函数来处理控制台,否则我通常避免这种情况。
答案 2 :(得分:0)
如果你使用的是Visual Studio,这是一个可以很好用的方法:
如果是,您可以通过创建表单项目,添加必要的表单,然后更改应用程序类型(通过右键单击项目并选择属性)并将其更改为控制台应用程序来启动表单应用程序。它仍然会像你期望的那样生成窗体窗口,但也会启动一个控制台窗口(仍然会被cout填充等等)!