2012-04-14 71 views
1

我想開始一個進程管理器項目C它假設有一個圖形用戶界面。這是我的第一個GUI項目,我不知道它。經過一番搜索後,我發現我應該使用winapi32庫。我應該在項目開始時考慮GUI嗎?

我的問題是:

我應該寫我的項目如基於控制檯的一個,然後我添加GUI來,或我應該考慮一下GUI在我的項目的開始?

回答

3

我想說,這是最好寫的應用程序作爲命令行應用程序,然後寫在GUI的包裝。通過這種方式,您可以在GUI和功能之間完全分離,獲得最靈活的應用程序。

但我不會說出來! :-) 根據我的經驗,從應用程序完全分離GUI是非常困難的,因此您應該考慮使用GUI來構建它。您的代碼必須打開窗口,報告進度,對GUI事件做出反應,因此您必須非常熟悉所使用的GUI系統。

但是,您必須儘可能保持GUI和功能之間的分離。例如,縮短回調時間,並將功能指向應用程序的非GUI部分。如果您需要在長時間計算期間報告進度,請將回調傳遞給計算算法,而不是在算法中混合GUI進度命令。

您還必須記住,大多數(如果不是全部的話)GUI系統只能在主應用程序線程內執行GUI命令,並且可以順利構建程序。

因此,在總結 - 是的,想想GUI剛開始時,它會更容易這樣,但也保持了GUI和功能之間的良好分離,

1

爲什麼在開發過程中改變程序?只要設計它就像它應該在最後。

+0

我不知道Windows圖形用戶界面的想法。我應該學習它,然後開始我的項目?或者我可以在創建後添加GUI? – 2012-04-14 18:23:12

+2

@NimaAhmadi:我會說:先了解GUI。您的洞察力可能會影響您的設計。 – 2012-04-14 18:24:35

1

您可以設計您的程序,使您可以同時使用文本和圖形用戶界面。爲核心功能提供一個抽象界面,並通過文本和圖形界面使用它。

如果你想要自上而下而不是自下而上,你應該選擇任何你喜歡的文本或圖形界面來調用你的界面的存根版本。

1

爲什麼把你的項目編寫成一個基於控制檯的項目,因爲它會以GUI結束?

如果有任何事情想先嚐試一下(比如你不知道如何做a,b或c),那麼你可以把它作爲一個側面項目來實現。


但就你的主要項目進展,這就是我想要做什麼:

  1. 仔細規劃設計

    • 什麼是它會做?
    • 如何你會去做嗎?
    • 應該採取什麼用戶界面包含以充分適應你的需要
  2. 編碼
  3. 測試和調試。
  4. 重複2 & 3直到完全滿意。

提示:

  • A.我不會建議你到你的GUI添加到現有的控制檯應用程序,「怎麼這很可能會導致雜亂的代碼和/或凌亂的用戶界面。 ;-)

  • B.始終試圖實現任何事情之前研究。你簡直無法想象你有多少知識可以做什麼 影響你可以做什麼(最有可能你最終會做的)

1

如果你想使一個用戶界面,您可以使用QTCreator或Visual Studio形式的項目...

QT是使跨平臺和可愛的界面的好方法... Visual Studio形式只能在Windows平臺上是可用的。

當你使用任何這些技術,你必須把「COMPONENTES」中的「窗口」的工作,然後一個代碼,他們...

+0

它假設是一個C項目,我可以使用Visaual Studio表單而不使用C++嗎? – 2012-04-14 19:46:25

+0

C++包含了大部分的C語言功能...但是componentes與clases一起工作,因爲visual studio與MFC一起工作...所以如果你想在Windows中嘗試使用C,你必須處理WinApi ......有一個很好的教程... c winapi http://zetcode.com/tutorials/winapi/ – 2012-04-14 20:14:45

+0

當然,您可以將功能和設計作爲兩個不同的方面來工作......首先,您必須對「WinAPi組件」的功能進行建模將使用...然後編程該程序的功能 – 2012-04-14 20:19:19

相關問題