c語言圖形介面怎麼做出來,C語言圖形介面怎麼做出來?

2021-12-16 10:57:33 字數 5015 閱讀 4018

1樓:千鋒教育

windows平臺下,含入windows.h,就可以編寫圖形介面的程式了。跟程序導向還是物件導向沒有關係。

並且c++寫介面一點都不麻煩,它也有很多類庫可以讓你選擇,如vcl,mfc,還有qt之類的跨平臺庫。

初學者很想寫windows圖形介面的程式,推薦c++ builder,雖然現在它的發展不太明朗,但寫起圖形介面來,還是相當容易的,跟visual basic一樣拖拖控制元件就好了。

2樓:小滴

c語言中要做圖形見面,首先需要設定為圖形模式,確定顯示卡型別,對螢幕進行初始化等等,相關的函式如下:

1. detectgraph() 顯示卡檢測函式2. initgraph() 圖形初始化函式3.

getdrivername() 獲取圖形驅動程式名的指標4. getgraphmode() 獲取圖形模式函式5. getmoderange()獲取模式值範圍函式6.

getmaxmode()獲取最大顯示模式函式7. getmodename()獲取顯示模式名函式8. graphdefaults()圖形設定復位預設值函式9.

setgraphmode() 設定圖形模式函式10. restorecrtmode() 恢復文字顯示模式函式11. graphresult() 圖形操作結果函式12.

grpaherrormsg() 圖形錯誤資訊函式13. setgraphbufsize()設定圖形緩衝區大小函式14. setactivepage() 設定可輸出顯示頁函式15.

setvisualpage() 設定可見顯示頁數16. closegraph()關閉圖形模式函式

3樓:匿名使用者

這是最簡單的介面程式 : // c++.cpp : 定義應用程式的入口點。

#include "stdafx.h"

#include "c++.h"

#define max_loadstring 100

// 全域性變數:

hinstance hinst; // 當前例項

tchar sztitle[max_loadstring]; // 標題欄文字

tchar szwindowclass[max_loadstring]; // 主視窗類名

// 此**模組中包含的函式的前向宣告:

atom myregisterclass(hinstance hinstance);

bool initinstance(hinstance, int);

lresult callback wndproc(hwnd, uint, wparam, lparam);

int_ptr callback about(hwnd, uint, wparam, lparam);

int apientry _twinmain(hinstance hinstance,

hinstance hprevinstance,

lptstr    lpcmdline,

int       ncmdshow)

unreferenced_parameter(hprevinstance);

unreferenced_parameter(lpcmdline);

// todo: 在此放置**。

msg msg;

haccel hacceltable;

// 初始化全域性字串

loadstring(hinstance, idc_c, szwindowclass, max_loadstring);

myregisterclass(hinstance);

// 執行應用程式初始化:

if (!initinstance (hinstance, ncmdshow))

return false;

hacceltable = loadaccelerators(hinstance, makeintresource(idc_c));

// 主訊息迴圈:

translatemessage(&msg);

dispatchmessage(&msg);

return (int) msg.wparam;

//  函式: myregisterclass()

//  目的: 註冊視窗類。

//  註釋:

//    僅當希望

//    此**與新增到 windows 95 中的「registerclas***」

//    函式之前的 win32 系統相容時,才需要此函式及其用法。呼叫此函式十分重要,

//    這樣應用程式就可以獲得關聯的

//    「格式正確的」小圖示。

atom myregisterclass(hinstance hinstance)

wndclas*** wcex;

wcex.cbsize = sizeof(wndclas***);

wcex.style = cs_hredraw | cs_vredraw;

wcex.lpfnwndproc = wndproc;

wcex.cbcl***tra = 0;

wcex.cbwndextra = 0;

wcex.hinstance = hinstance;

wcex.hicon = loadicon(hinstance, makeintresource(idi_c));

wcex.hcursor = loadcursor(null, idc_arrow);

wcex.hbrbackground = (hbrush)(color_window+1);

wcex.lpszmenuname = makeintresource(idc_c);

wcex.lpszclassname = szwindowclass;

wcex.hiconsm = loadicon(wcex.hinstance, makeintresource(idi_small));

//   函式: initinstance(hinstance, int)

//   目的: 儲存例項控制代碼並建立主視窗

//   註釋:

//        在此函式中,我們在全域性變數中儲存例項控制代碼並

//        建立和顯示主程式視窗。

bool initinstance(hinstance hinstance, int ncmdshow)

hwnd hwnd;

hinst = hinstance; // 將例項控制代碼儲存在全域性變數中

cw_usedefault, 0, cw_usedefault, 0, null, null, hinstance, null);

if (!hwnd)

return false;

showwindow(hwnd, ncmdshow);

updatewindow(hwnd);

return true;

//  函式: wndproc(hwnd, uint, wparam, lparam)

//  目的: 處理主視窗的訊息。

//  wm_command - 處理應用程式選單

//  wm_paint - 繪製主視窗

//  wm_destroy - 傳送退出訊息並返回

lresult callback wndproc(hwnd hwnd, uint message, wparam wparam, lparam lparam)

int wmid, wmevent;

paintstruct ps;

hdc hdc;

switch (message)

case wm_command:

wmid    = loword(wparam);

wmevent = hiword(wparam);

// 分析選單選擇:

switch (wmid)

case idm_about:

dialogbox(hinst, makeintresource(idd_aboutbox), hwnd, about);

break;

case idm_exit:

destroywindow(hwnd);

break;

default:

return defwindowproc(hwnd, message, wparam, lparam);

break;

case wm_paint:

hdc = beginpaint(hwnd, &ps);

// todo: 在此新增任意繪圖**...

endpaint(hwnd, &ps);

break;

case wm_destroy:

postquitmessage(0);

break;

default:

return defwindowproc(hwnd, message, wparam, lparam);

return 0;

// 「關於」框的訊息處理程式。

int_ptr callback about(hwnd hdlg, uint message, wparam wparam, lparam lparam)

unreferenced_parameter(lparam);

switch (message)

case wm_initdialog:

return (int_ptr)true;

case wm_command:

if (loword(wparam) == idok || loword(wparam) == idcancel)

enddialog(hdlg, loword(wparam));

return (int_ptr)true;

break;

return (int_ptr)false;

弱弱的問句c語言能進行圖形介面gui開發嗎

可以的 我現在就在用呢 1.可以用 winc 就是直接在windows下程式設計。這個比較麻煩,因為所有的東西都必須自己寫 如建立視窗,初始化等一些基本的 以前老師上課的時候講過,理解了之後,感覺其實很簡單,而且都是一個套路,看個例子就能明白的 2.可以用mfc建立介面,裡面要具體實現的東西,直接用...

c語言問題求大神解答做了很久沒做出來萬分感

選中區域後使用分類彙總,會對每人生成一個彙總行,然後進行自動篩選,需要誰留下誰就可以了 求解答一些c語言問題,萬分感謝 10 個人感覺你過於鑽牛角尖了,這種題目沒必要深究,結果跟編譯器或平臺有很大關係,並且在實際專案中誰也不會這樣寫,維護的時候不是自己給自己添堵麼,我的個人經驗是邏輯清楚重於 簡潔。...

求怎麼做?C語言,C語言程式,怎麼做?(求答案和解釋)

include main 是一次輸入3個不同的數字嗎?c語言程式,怎麼做?求答案和解釋 該迴圈第一次不判斷迴圈條件,先執行一次迴圈體,從第二次開始判斷迴圈條件,成立則執行迴圈體,否則不執行,由於輸入的字串第一個字元不是字母y,所以迴圈條件不成立,迴圈體只執行一次 一次,真的就只有一次。執行一次。這個...