Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用C为Windows构建GUI应用程序_C_Winapi_User Interface - Fatal编程技术网

用C为Windows构建GUI应用程序

用C为Windows构建GUI应用程序,c,winapi,user-interface,C,Winapi,User Interface,我对C编程相当陌生 我的程序按预期在控制台上运行,但现在我想为它构建一个非常简单的Windows GUI应用程序,使用C(只是一个显示一些文本和文件菜单的窗口) 到目前为止,我已经在一个.c源代码中构建了所有内容,并在Windows PC中使用MinGW gcc作为编译器 我刚下载了VisualStudio2013,但尝试使用它时有点不知所措。我试图寻找替代方案,但我对所有术语(IDE、SDK、API等)以及我真正需要做什么感到困惑 如果你能给我指点东西让我读,让我头脑清醒,我会很满意的 提前非

我对C编程相当陌生

我的程序按预期在控制台上运行,但现在我想为它构建一个非常简单的Windows GUI应用程序,使用C(只是一个显示一些文本和文件菜单的窗口)

到目前为止,我已经在一个.c源代码中构建了所有内容,并在Windows PC中使用MinGW gcc作为编译器

我刚下载了VisualStudio2013,但尝试使用它时有点不知所措。我试图寻找替代方案,但我对所有术语(IDE、SDK、API等)以及我真正需要做什么感到困惑

如果你能给我指点东西让我读,让我头脑清醒,我会很满意的


提前非常感谢,如果这是一个糟糕的问题,很抱歉。

您可以开始学习GTK,以便使用C语言开发GUI。你可以在

您可以开始学习GTK,以便使用C语言开发GUI。你可以在

一个非常简单的GUI应用程序可以只使用C和Windows API

简而言之,您必须注册自己的窗口类(
RegisterClassEx
),然后创建窗口(
CreateWindowEx
)。请注意,您的窗口类主元素是它的(
WindowProc
)元素,它接收消息,您必须实现它才能按自己的意愿行事。之后,您的C程序应该运行消息泵(
PeekMessage
DispatchMessage
),让Windows完成它的工作,并允许与您的窗口交互


有关这些函数的帮助和示例,请参阅MSDN文档。

一个非常简单的GUI应用程序可能只使用C和Windows API

简而言之,您必须注册自己的窗口类(
RegisterClassEx
),然后创建窗口(
CreateWindowEx
)。请注意,您的窗口类主元素是它的(
WindowProc
)元素,它接收消息,您必须实现它才能按自己的意愿行事。之后,您的C程序应该运行消息泵(
PeekMessage
DispatchMessage
),让Windows完成它的工作,并允许与您的窗口交互


有关这些函数的帮助和示例,请参阅MSDN文档。

如何使用VS应用程序wizzard(假设它在2013年仍然存在)。如果你创建一个新的项目,它就会启动(2010年)。对于非常简单的C GUI,我经常使用Pelles C,它带有一个资源编辑器,你可以在其中设计你的对话框。虽然你必须手工完成很多管道工程,但这都是乐趣的一部分。阅读Petzold编程窗口,你就可以开始了。IDE:Integrated Development Environment-一款捆绑编译器、编辑器、项目经理、表单生成器、调试器工具的软件。。。一应俱全。SDK:软件开发工具包-一个围绕特定API构建的lib包,可选(通常)包括特定的工具,以促进开发过程。API:应用程序编程接口:一种软件(libs),通过它您的程序可以与另一个服务/应用程序进行接口。ie:使用mysql C API(
#include
)通过
mysql\u real\u connect
连接到db如果您想要GUI,请坚持使用IDE。样板WNDPROC、消息处理和事件处理程序最好由已经运行的东西提供(主要是:)。使用VS应用程序wizzard如何(假设它在2013年仍然存在)。如果你创建一个新的项目,它就会启动(2010年)。对于非常简单的C GUI,我经常使用Pelles C,它带有一个资源编辑器,你可以在其中设计你的对话框。虽然你必须手工完成很多管道工程,但这都是乐趣的一部分。阅读Petzold编程窗口,你就可以开始了。IDE:Integrated Development Environment-一款捆绑编译器、编辑器、项目经理、表单生成器、调试器工具的软件。。。一应俱全。SDK:软件开发工具包-一个围绕特定API构建的lib包,可选(通常)包括特定的工具,以促进开发过程。API:应用程序编程接口:一种软件(libs),通过它您的程序可以与另一个服务/应用程序进行接口。ie:使用mysql C API(
#include
)通过
mysql\u real\u connect
连接到db如果您想要GUI,请坚持使用IDE。样板WNDPROC、消息处理和事件处理程序最好由已经运行的东西提供(主要是:)。我想说GTK对于在Windows上开发GUI应用程序来说是一个可怕的选项。你能告诉我你为什么这么认为吗?你曾经在Windows上使用过GTK应用程序吗?这种体验非常糟糕,GTK项目似乎甚至不想提供更好的体验。当然,它在某种程度上是有效的,但它远不是我自愿让用户接受的东西。无论如何,在为单一平台开发时,我宁愿使用本机小部件或包装器,至少尝试正确地模拟它们。一般来说,如果你以Gnome或Linux为目标,GTK是可以的,但在Windows上,我觉得它非常不合适。我想说GTK是在Windows上开发GUI应用程序的一个可怕的选项。你能告诉我你为什么这么认为吗?你曾经在Windows上使用过GTK应用程序吗?这种体验非常糟糕,GTK项目似乎甚至不想提供更好的体验。当然,它在某种程度上是有效的,但它远不是我自愿让用户接受的东西。无论如何,在为单一平台开发时,我宁愿使用本机小部件或包装器,至少尝试正确地模拟它们。一般来说,如果你以Gnome或Linux为目标,GTK是不错的,但在Windows上,我觉得它非常不合适。