簡體   English   中英

如何在ANSI C中創建窗口應用程序?

[英]How to make window application in ANSI C?

到目前為止,我一直只編寫控制台應用程序,但我需要為學校作業編寫一個簡單的窗口應用程序。

有人可以指點我一個很好的教程如何在ANSI C中創建窗口和其他普通的窗口元素,如按鈕,2d圖形等? 我應該使用一些好的庫嗎?

我嘗試使用Google搜索,但沒有專門針對C的教程網站。

如果可以的話,我也會感謝一些示例代碼。

謝謝。

順便說一句,我使用Dec C ++。

GTK是一個很好的庫,但可以在Windows下提供非本機外觀。 它在GNU / Linux下看起來很棒,尤其是使用GNOME。

它僅在C(使用GObject類型系統,GLib庫的一部分)中實現,因此它將非常適合您的需求。 還有一個名為Glade的RAD工具。

關於Windows,ANSI C標准中沒有任何內容。 如果你想創建一個窗口化的應用程序,你將不得不使用特定於平台的庫(例如Win32CocoaX11 ),或者某種封裝它的跨平台庫(例如SDLwxWidgets或更多) 。

http://support.microsoft.com/kb/829488也討論了如何創建

Windows應用程序:創建一個簡單的基於Microsoft Windows的應用程序。 應用程序文件包含一個包含_tWinMain函數的ProjectName.cpp文件。 您可以使用此類應用程序來執行基於圖形用戶界面(GUI)的編程。

至於教程...使用MSDN。 Win32 API C.你並不需要“的Win32 ANSI C教程” -你需要的Win32教程(例如http://www.winprog.org/tutorial/start.htmlhttp://www.functionx.com/ win32 / Lesson01.htm ) - 當然,除非您不了解ANSI C,否則您只需要查找ANSI C教程。 這些科目是獨立的。

常見的起點是Charles Petzold的Programming WindowstheForger的Win32 API編程教程

但是在大多數情況下,C不再是Windows開發的首選語言。 面向對象技術更適合GUI開發,隨着MFC的引入,C ++成為首選語言,后來成為.Net,C#和C ++ / CLI。

Win32 API可能很難工作,MFC的大部分都比Win32 API包裝好一點,然而.Net框架是從頭開始設計的,並且不受Win32 API怪物遺留的影響,並且使用它往往以提高生產力。

無論哪種方式,Dev-C ++都不是GUI開發的好工具。

有許多好的圖書館 - 在沒有開始宗教戰爭的情況下有太多明顯的選擇。 我建議您在第一個庫中學習一些適用於Windows,Linux或OSX的內容。 這里有兩個不錯的選擇,不一定是最好的,但廣泛使用和個人的最愛:

  • Tcl / Tk 您可以使用Tcl腳本語言編寫大部分應用程序,但是您可以輕松地將自己的ANSI C代碼集成到Tcl中,Tcl從一開始就考慮到了這種集成。 Tk工具包非常容易學習,您可以在開始時使用純Tcl編寫許多簡單的GUI。 互動,簡單,並得到很好的支持。

  • 如果你想用ANSI C編寫所有內容,我不知道任何非常簡單的選擇,但我對wxwidgets非常滿意。 然而,所有這些工具都有相當陡峭的學習曲線。

由於該語言的優勢在於其他地方,因此沒有多少普通的C GUI庫。 也許您應該考慮使用帶有C綁定的語言,這樣您仍然可以在C中進行數字運算,但是使用不那么痛苦的GUI開發?

如果您真的想要堅持使用C,您可以使用操作系統的本機API或我所知道的唯一當前的跨平台C GUI庫:GTK +。 如果你真的不需要GUI而只需要圖形輸出,我會選擇SDL。

我建議你下載Microsoft Visual Studio 2008 Express Edition並使用C#.Net。

如前所述,我建議您使用Winforms並切換到.Net環境。 這是2009年,我認為有更合適的GUI解決方案:P

編輯:Nvm,沒看到這是一個學校作業。

但是,這是Win32 API上的C ++指南: http//www.relisoft.com/win32/index.htm

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM