用c語言怎麼實現圖形化介面,用C語言怎麼實現圖形化介面?

2021-12-19 05:35:27 字數 5946 閱讀 1945

1樓:匿名使用者

這是最簡單的介面程式 : // 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;

2樓:匿名使用者

呼叫api,推薦你去買一本c語言高階程式設計一類的書,上面有很多講c語言建立圖形化介面的知識

3樓:匿名使用者

你也可以在dos下直接畫嘛。。graphics.h這個瞭解下。。

調api也是一種辦法。 不知道你問的是哪種?

4樓:匿名使用者

c不能實現圖形化,要這樣的話就c++

c語言程式設計如何實現圖形化?

5樓:匿名使用者

這要看你所使用的系統平臺,圖形化程式設計與系統平臺息息相關

對於c語言來說,有許多成熟的框架。比如windows上可使用windows的系統api,linux下有gtk,嵌入式環境下有minigui等。

c語言是一門比較特殊的語言,雖然也是高階程式語言的一種,但是為了和其他語言區分開來,部分人也會將c語言稱作中級語言,主要是因為c語言不是物件導向的語言,並且有指標這樣的利器可以直接對底層以及硬體進行操作。

正是因為c語言不是物件導向的語言,在圖形化這樣更偏上層的應用中,一般會使用c++替代c語言,這樣能極大的降低開發的工作量。

比如,windows下可使用mfc,wpf也支援c++。linux下一般用跨平臺的qt(可在windows/mac等多種平臺執行)。嵌入式環境下有嵌入式的qt版本。

6樓:匿名使用者

c語言圖形化程式設計最好使用turbo c或borland c。

7樓:專注本地資訊

呼叫圖形庫函式,linux下有個minigui,你試試

c語言如何給自己寫的程式加上圖形介面

8樓:詩墨娮

標題、背景和前景顏色、視窗大小等等這些可以用api函式實現

#include //加入標頭檔案就可呼叫api函式

int main()

hwnd hwnd=getforegroundwindow();

handle handle=getstdhandle(std_output_handle);

setwindowtext(hwnd,"測試");//標題

setconsoletextattribute(handle,foreground_green|background_blue);//前景、背景顏色

return 0;

vc6.0 能夠在 xp 下很好的執行,無需進行額外的設定,但在 win7、win8 和 win10 下,安裝完成後還要修改相容模式才可以。解決方法如下:

一、對於win7和win10,需要將vc6.0的相容模式修改為 windows xp sp3:

1、在 vc6.0 的快捷方式或開始選單上單擊滑鼠右鍵,選擇「屬性」。

2、在彈出的對話方塊中,將相容模式修改為windows xp sp3 或 sp2,如下圖所示。

二、相比win7和win10,win8稍微麻煩一些,要先將 msdev.exe 重新命名為 msdev3.exe,再按照上面的步驟設定相容模式。

1、找到msdev.exe所在,msdev.exe是 vc6.0 的主程式,位於 vc6.0 的安裝目錄下,可以在屬性面板中快速找到 msdev.exe。

2、將msdev.exe重新命名為msdev3.exe。

3、在 vc6.0 的快捷方式或開始選單上單擊滑鼠右鍵,選擇「屬性」。

4、在彈出的對話方塊中,將相容模式修改為windows xp sp3 或 sp2,如下圖所示。

C語言都有什麼圖形介面支援庫呢,怎麼用C語言寫圖形介面??

有啊,c語言提供圖形影象介面支援的額 o 比如turbo c裡提供了graphics.h庫,有時間你自己專研一下這個庫的用法吧。可以通過它編彩色的圖形影象哦,比如貪吃蛇遊戲等等!希望我的回答對您有所幫助!祝您一切順心!我喜歡用opengl庫。嗯。3d和渲染都很強大。而且語句不復雜。就是數學計算比較多...

c語言中怎麼用C語言中怎麼用

最近 盤 字很流行,盤是什麼意思?為什麼能成為網路熱詞?結果是3 解答過程 自 首先算a b 表示異或 十進位制a 1,等於二進位制0001 十進位制b 2,等於二進位制0010 異或為對應位不同時取真,故0001 0010結果為0011,即為十進位制的3 再算 a b c 表示按位與,a b的結果...

linux 系統怎麼進行圖形化介面跟命令列介面切換

1 系統預設啟動到圖形介面。2 登入後輸入 init 3 並按回車鍵或者ctrl alt f6 切換到文字介面。3 重新輸入賬號及密碼。4 輸入 vi etc inittab 編輯此檔案。5 在centos6及以下版本檔案內容如下,修改下圖藍色框內數字為3即可,5為圖形介面。6 在centos7中檔...