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