2014-12-30 62 views
1

是否可以在不使用GUI工具包的情況下編寫GUI應用程序?由於像GTK +這樣的GUI工具包是用c語言編寫的,當開始時沒有這樣的工具包,所以程序員如何才能在不使用這種工具包的情況下使用c或C++開發GUI應用程序?如何在不使用任何GUI工具包的情況下使用c或C++編寫Gui應用程序?在不使用GUI工具包的情況下開發GUI應用程序

+1

這使得您的應用程序操作系統(OS)依賴。您可以使用Win32/MFC,但它的凌亂,出於兼容性等原因而存在大量錯誤。爲什麼要這樣做? – DevNull

+1

最近我開始使用HTTP和HTML構建GUI。 C++應用程序基本上打開了一個服務器套接字,並使用HTTP協議以HTML格式傳送GUI。 GUI本身是一組HTML模板,它的數據元素是「即時」填充的,而JavaScript和AJAX則用於將數據傳回C++應用程序。 – Galik

+2

是的。也可以用一把剪刀修剪足球場。 –

回答

3

您可以直接使用Win32 API編程Windows GUI應用程序,而無需使用任何單獨的工具包(如GTK +)。關於如何做到這一點的一個參考在這裏:http://www.winprog.org/tutorial/start.html

這些日子不是那麼常見,而不是心靈的懦弱。

2

您從圖形的幀緩衝區開始,然後編寫一組基本函數來完成基本幾何(線,圓,多邊形,位拷貝)。然後你創建一個事件隊列,並用輸入事件(鍵盤,鼠標等)填充它。

您還需要創建字體和文本例程。因爲基本的guis只不過是點擊事件的盒子,最終還是鍵盤事件,這些都是構建GUI的基礎。

這是很多工作。如果你想在較低級別上看GUI編程,考慮查找最初是在最初的操作系統(比如早期的Windows,早期的Mac OS,早期的X Windows)中完成的。

Mac OS使許多工作明確。它提供了一個窗口管理器和其他高級控件,但是通過一些研究,你可以看到它們是如何在Quickdraw(MacOS圖形原語庫)的基礎上構建的。

這些都沒有解決現代GPU加速等問題,這是一個完全不同的問題複雜層。

2

在Windows中的API級別做GUI東西並不難,但涉及很多工作。

作爲一個起點,你可以看看我的舊的Windows API編程教程「Lessons in Windows API Programming (C++)」

去,你會做得很好的是途徑以獲得查爾斯Petzold的’小號「編程的5 版的副本或更早版本(不是6 或更高版本)Windows 」,這被認爲是聖經上學科。

相關問題