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,所以迴圈條件不成立,迴圈體只執行一次 一次,真的就只有一次。執行一次。這個...