C語言怎麼寫窗口化程序?


窗口話程序是使用GUI庫的程序 , 跟語言無關.

GTK(C), MFC(C++) / Qt (C++,Python) / WxWidgets(C++,Python)


《C語言也能幹大事》課程介紹


推薦學習Qt


可以用 ncurses 編寫獨立於終端的基於文本的用戶界面


Windows Hello World Sample (Windows)

從這個開始吧。msdn好多sample和教程(不僅僅是api詞典),慢慢刷,以後就都懂了


創建窗口是操作系統的事,程序本身不能創建的,只能通過調用Windows的系統API來創建。

詳情閱讀 《Windows程序設計》


假設題主限定了就是要在Windows環境下。

如果只希望知道如何用C語言——而不是C++——寫窗口程序, @vczh 的答案就是你要的。

使用標準的Windows API,然後在消息循環裡面處理各種事件。

但是我認為,如果不是出於學習的目的,或者寫木馬之類的特別要求體積小巧的程序,沒必要使用系統API來畫窗體。

簡單粗暴的高生產率的開發方式還是.Net整窗體。

控制項隨意放置,消息處理也乾淨,比系統API或者MFC不知道強到哪裡去了。


問這個問題,看來提問者比較迷茫

不管什麼編程,請以生產者的幫助文檔與所在社區文檔為準

比如windows平台,就上(MSDN – the Microsoft Developer Network)

這樣在以後的編程中,可以避免很多坑。


很簡單;

1.1、定義自己的窗口

1.2、在系統中註冊自己的窗口

2、使用已經定義系統中的窗口來生成窗口實例

3、進入消息循環,不斷的從線程的消息隊列中獲取消息,分發消息


為什麼一定要用C來寫呢,這貨就不是干這活的,莫非你只是想熟悉SDK.

什麼方便用什麼唄。


Ref to Programming Windows (5th Edition) by Petzold


Turbo c有繪圖庫,一般來說是一條線一條線畫出來的


推薦閱讀:

如何理性的評價各種編程語言的優劣?
使用 C 語言進行伺服器端編程,未來職業前景與發展前途怎樣?
如何評價翁愷老師?
如何用 C 語言解決兩個大數相乘問題?
如何學慣用 C 語言寫 惠普 / Palm webOS 程序?

TAG:編程 | 圖形用戶界面 | C編程語言 |