c語言寫一個登錄界面 怎么用c語言做一個界面?
怎么用c語言做一個界面?做圖形界面大致涉及到這幾個方面的問題:控制顯示器畫出圖形并隨時更新圖形。各大顯示器廠商的分辨率以及屏幕尺寸都不一樣,要考慮在不同的顯示器上作出相同的圖形效果。建立圖形界面操作邏
怎么用c語言做一個界面?
做圖形界面大致涉及到這幾個方面的問題:
- 控制顯示器畫出圖形并隨時更新圖形。各大顯示器廠商的分辨率以及屏幕尺寸都不一樣,要考慮在不同的顯示器上作出相同的圖形效果。
- 建立圖形界面操作邏輯。比如,切換畫面焦點(diǎn),顯示文字等。僅文字一項(xiàng),就要為數(shù)百種語言和數(shù)以千計(jì)的字體建立圖形庫,并能后不失真地自由在屏幕上縮放。
- 建立界面刷新同鍵盤鼠標(biāo)等輸入設(shè)備,以及后臺程序處理的并行機(jī)制。避免出現(xiàn)諸如鎖屏之類的現(xiàn)象
上面只是非常概略地概括了一下圖形界面的部分功能,用C語言實(shí)現(xiàn)這些功能所需的代碼數(shù)量應(yīng)該是以百萬行計(jì)算的。每個程序都要從零開始是不現(xiàn)實(shí)的。所以,人們做了很多圖形界面的標(biāo)準(zhǔn)庫,供程序員使用。為了進(jìn)一步減少需要配布的程序數(shù)量,這些標(biāo)準(zhǔn)庫被搭載到操作系統(tǒng)中。Windows上搭載了Win32API,Linux上搭載了Qt,等等。因此,有人說要做圖形界面還得懂點(diǎn)操作系統(tǒng)。題主還說道了MFC,其實(shí),MFC跟Qt更接近一些,它在Win32API的基礎(chǔ)上,建立了一整套框架,可以更好地解決畫面切替,操作并發(fā)的問題,可以作出更為復(fù)雜的界面。
最后要說明的是與其把a(bǔ)pi看成是匯編,mfc看成是c語言,不如把它們看成是共通函數(shù)很容易理解一些。
C語言是怎么實(shí)現(xiàn)圖形界面的?
想必你問的是windows上用C實(shí)現(xiàn)圖形界面,另外有些回答說C必須調(diào)用庫才能實(shí)現(xiàn)圖形界面??吹贸?,很多都是沒有寫過驅(qū)動的。首先,我們有一個顯示器,顯示器是一個個小點(diǎn)組成的。顯示器有很多種接口,CPU/GPU通過這個接口(操作寄存器)和顯示器通訊,在上面畫上一個個點(diǎn)。然后點(diǎn)連成線,點(diǎn)變成圓。。。等等基本圖形,把這些封裝成函數(shù),加之封裝填充之類的函數(shù),構(gòu)成了最底層的GUI。后面又經(jīng)過抽象,有圖層等的概念。這就是圖形庫了。然后各種語言調(diào)用圖形庫完成顯示。C語言完全可以從底開始寫圖形界面。但是沒必要。
c語言編程時界面屏幕的大小切換怎么搞?
1、在Window下可以使用 system("mode con cols=30 lines=20") 命令設(shè)置窗體大小。
如果需要動態(tài)設(shè)置大小,可以寫成如下形式:
char stCmd[128]
sprintf("mode con cols=%d lines=%d", height, width)
system(stCmd)
2、system函數(shù):
原型:int system(const char * command);
功能:執(zhí)行 dos(windows系統(tǒng)) 或 shell(Linux/Unix系統(tǒng)) 命令,參數(shù)字符串command為命令名
說明:在windows系統(tǒng)中,system函數(shù)直接在控制臺調(diào)用一個command命令。在Linux/Unix系統(tǒng)中,system函數(shù)會調(diào)用fork函數(shù)產(chǎn)生子進(jìn)程,由子進(jìn)程來執(zhí)行command命令,命令執(zhí)行完后隨即返回原調(diào)用的進(jìn)程;
頭文件:stdlib.h;
返回值:命令執(zhí)行成功返回0,執(zhí)行失敗返回-1。