簡體   English   中英

您可以強制控制台應用看起來像gui應用嗎?

[英]Can you force a console app to look like a gui app?

我一直在權衡制作gui應用程序的優點/缺點,並且我決定控制台應用程序對我的計算器的功能要強大得多,尤其是因為它可以執行箔紙,二次方程式等不同的功能。所以我的問題是控制台看起來像基於GUI的應用程序?

問題的答案完全取決於“控制台”的含義。 如果您在談論Windows控制台窗口,那么答案是“也許”。 某些Windows安裝可以在控制台窗口中模擬VGA / EGA圖形,從而使它們能夠玩DOS的舊游戲。

您的任務將是根據用於繪制線條和矩形的簡單圖形基元來實現所需的每個GUI小部件,例如可單擊的按鈕,文本輸入字段等。 然后,您必須編寫指出鼠標位置並在正確位置繪制鼠標指針的代碼。 您還必須編寫代碼使光標閃爍,使箭頭鍵移動光標,並使其能夠在文本輸入框中選擇字符並復制,剪切和粘貼。

完成后,您將擁有一個可以在某些人的計算機上運行但不能在其他人的計算機上運行的程序。 在某些Windows安裝中,控制台窗口無法做圖形或進入全屏模式。 盡管您可以使用2D游戲庫(例如SDL或Allegro)編寫全屏Windows應用程序,而不用編寫控制台應用程序,但您的應用程序根本無法在這些系統上運行,這將帶您回到上一段。

您可能已經猜到了,滾動自己的GUI比編寫Windows GUI程序要耗費更多精力,在Windows GUI程序中,已經為您實現了按鈕,文本字段等,光標已經閃爍,鼠標已經單擊,等等

另外,進行實際計算的代碼應與從用戶那里獲得輸入並在屏幕上顯示答案的代碼完全分開,這樣,該代碼就不必考慮要編寫GUI還是控制台應用程序了。 它們甚至不應與I / O例程位於同一個.cpp文件中。

現在,一些程序員使用術語“控制台”來指代Linux上的xterm窗口。 這些根本不是一回事,並且無法繪制圖形(並且“ console”是引導它們的錯誤名稱)。 但是有時您會看到菜單和其中的東西,它們是用彩色文本“繪制”的。 通常,這些是使用外部dialog shell命令繪制和管理的。

暫無
暫無

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

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