⑴ 如何用c語言實現文本菜單界面
/************************************************
*函數名:Menu
*功能:繪制主菜單界面,並根據輸入轉跳到其它功能
************************************************/
intMenu()
{
charcScan; //cScan用於記錄鍵盤的輸入
/*┏━┓┃┛┗*/
printf("
");
printf(" ┏━━━━━━━━━━━━━━━━━━━━━━━━━┓
");
printf(" ┃歡迎使用員工管理系統BetaV1.0┃
");
printf(" ┃by1500830221┃
");
printf(" ┃1、查看所有員工信息┃
");
printf(" ┃2、添加員工┃
");
printf(" ┃3、查找員工┃
");
printf(" ┃4、刪除員工或修改資料┃
");
printf(" ┃5、重設密碼┃
");
printf(" ┃6、將員工信息以文本文檔輸出┃
");
printf(" ┃7、清屏┃
");
printf(" ┃8、查看版本信息┃
");
printf(" ┃9、退出┃
");
printf(" ┃┃
");
printf(" ┗━━━━━━━━━━━━━━━━━━━━━━━━━┛
");
cScan=getch();
returncScan-48;
}
⑵ 如何給C語言寫出來的軟體做漂亮的操作頁面,而不是只在一個黑框里操作
呵呵,曾經我也是比較困惑的。我是在學了C,C++,直到Delphi之後,發現VC++這個平台就可以實現你要的東西!這方面的資源非常豐富,書也很多,相信你會找到你想要的~ 祝好!呵呵
⑶ 怎麼用c語言做一個界面
C 語言,就像他的名字一樣,他就是一門計算機編程語言;
要做界面,需要調用繪圖函數,而繪圖函數有很多種,Windows 的 GDI 和 GDI+ 或者 Direct2D,Linux 下的 OpenGL,移動設備上的 XNA ,都可以;
MFC 是微軟為咱們創建 Windows 窗體程序而設計好的開發包,可以提高開發效率,以面向對象的方式思考和設計程序,學習這個,需要有 Windows API 基礎;
至於 API,在 Windows 下面,就是指 Win32 API 了,就是 32 位 Windows 操作系統的應用程序編程介面,是 Windows 系統提供給開發者的底層功能;
這些都不是一兩句話可以概括的,需要自己多點去接觸,才會有自己的心得;
最後一條比喻不是很恰當,面向對象拆開來,可以是一堆 API,也可以是單純的一堆 C 語言句子,當然,也可以是一堆嵌入式匯編語句,所以沒辦法進行比喻;
⑷ 如何用C語言編程出可視化界面
//調用api函數創建窗口
//示例:
#include <windows.h>
LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);//窗口過程函數
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR szCmdLine, int iCmdShow)
{
static TCHAR szAppName[] = TEXT("MyWindows");//定義窗口類名
HWND hwnd;//窗口句柄
MSG msg; //
WNDCLASS wndclass; //窗口類
wndclass.style = CS_HREDRAW | CS_VREDRAW;//指定窗口類型,各種「類風格」(詳見下方↓)可以使用按位或操作符組合起來
wndclass.lpfnWndProc = WndProc;//指定窗口過程(必須是回調函數)
wndclass.cbClsExtra = 0;//預留的額外空間,一般為 0
wndclass.cbWndExtra = 0;//預留的額外空間,一般為 0
wndclass.hInstance = hInstance;//應用程序的實例句柄
wndclass.hIcon = LoadIcon(NULL, IDI_APPLICATION);//為所有基於該窗口類的窗口設定一個圖標
wndclass.hCursor = LoadCursor(NULL, IDC_ARROW);//為所有基於該窗口類的窗口設定一個滑鼠指針
wndclass.hbrBackground = (HBRUSH)GetStockObject(WHITE_BRUSH);//指定窗口背景色
wndclass.lpszMenuName = NULL;//指定窗口菜單
wndclass.lpszClassName = szAppName;//指定窗口類名
if (!RegisterClass(&wndclass))//注冊窗口
{
MessageBox(NULL, TEXT("這個程序需要在 Windows NT 才能執行!"), szAppName, MB_ICONERROR);
return 0;
}
hwnd = CreateWindow(szAppName, //創建窗口
TEXT("windows"),
WS_OVERLAPPEDWINDOW,
CW_USEDEFAULT,
CW_USEDEFAULT,
CW_USEDEFAULT,
CW_USEDEFAULT,
NULL,
NULL,
hInstance,
NULL);
ShowWindow(hwnd, iCmdShow); //顯示窗口
UpdateWindow(hwnd); //更新窗口,重繪
while (GetMessage(&msg, NULL, 0, 0)) //獲得消息
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
return msg.wParam;
}
LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)//回調函數
{
HDC hdc;
PAINTSTRUCT ps;
RECT rect;
switch (message)
{
case WM_PAINT:
hdc = BeginPaint(hwnd, &ps);
GetClientRect(hwnd, &rect);
DrawText(hdc, TEXT("第一個C語言窗口程序!"), -1, &rect,
DT_SINGLELINE | DT_CENTER | DT_VCENTER);
EndPaint(hwnd, &ps);
return 0;
case WM_DESTROY:
PostQuitMessage(0);
return 0;
}
return DefWindowProc(hwnd, message, wParam, lParam);
}
⑸ 怎麼用c語言做一個界面
通過調用API來創建界面:
#include<windows.h>
int
main()
{
MessageBox(NULL,"Hello
World!","C圖形程序",MB_OK);
return
0;
}
linux下通過調用圖形庫來創建界面。
⑹ c語言如何編寫界面程序
一、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()關閉圖形模式函數GTK+去這本書的pdf看看吧GTK+2.0編程範例QT啊不過安裝QT環境有點復雜貌似QT是C++,GTK是C.......C語方下可以在文本模式下作出,也可以在圖形模式下畫出,用的是一些擴展庫,就是說不是C標准庫,下面給一個框架,不知道建悉李舉不建議學,感覺過時了,看你自已的興趣了,感興趣下了功夫肯定能學好,睜碧因為它根本就不難,只不過用了些非標准庫的所謂高級函數而已
⑺ 如何用c語言設計界面
使用graphic相關的函數可以做圖像界面。
如果是類似Dos那樣的,你就使用一串*或#號等分割。
⑻ C語言怎麼做界面
空窗口:
#include<windows.h>
/*所有的窗口輸出到這里去*/
LRESULTCALLBACKWndProc(HWNDhwnd,UINTMessage,WPARAMwParam,LPARAMlParam){
switch(Message){
/*停止後,告訴主線程停止*/
caseWM_DESTROY:{
PostQuitMessage(0);
break;
}
/*所有其他消息(很多人)都使用默認程序處理*/
default:
returnDefWindowProc(hwnd,Message,wParam,lParam);
}
return0;
}
/*Win32GUI程序的主要功能:執行從這里開始*/
intWINAPIWinMain(HINSTANCEhInstance,HINSTANCEhPrevInstance,LPSTRlpCmdLine,intnCmdShow){
WNDCLASSEXwc;/*窗口的屬性結構*/
HWNDhwnd;/*"句柄"一個窗口的標識符*/
MSGMsg;/*所有消息的臨時位置*/
/*修改結構和設置的東西*/
memset(&wc,0,sizeof(wc));
wc.cbSize =sizeof(WNDCLASSEX);
wc.lpfnWndProc =WndProc;/*將發送消息的地方*/
wc.hInstance =hInstance;
wc.hCursor =LoadCursor(NULL,IDC_ARROW);
/*白色,COLOR_WINDOW是系統定義的顏色值,其數值是5*/
wc.hbrBackground=(HBRUSH)(COLOR_WINDOW+1);
wc.lpszClassName="WindowClass";
wc.hIcon =LoadIcon(NULL,IDI_APPLICATION);/*載入一個標准圖標*/
wc.hIconSm =LoadIcon(NULL,IDI_APPLICATION);/*使用名稱「A」來作為該項目圖標*/
if(!RegisterClassEx(&wc)){
MessageBox(NULL,"WindowRegistrationFailed!","Error!",MB_ICONEXCLAMATION|MB_OK);
return0;
}
hwnd=CreateWindowEx(WS_EX_CLIENTEDGE,"WindowClass","Caption",WS_VISIBLE|WS_OVERLAPPEDWINDOW,
CW_USEDEFAULT,/*x*/
CW_USEDEFAULT,/*y*/
640,/*寬度*/
480,/*高度*/
NULL,NULL,hInstance,NULL);
if(hwnd==NULL){
MessageBox(NULL,"WindowCreationFailed!","Error!",MB_ICONEXCLAMATION|MB_OK);
return0;
}
/*
所有的輸入處理和發送到窗口過程。
注意,這個塊代碼流,直到它接收到的東西,
所以迴路不會產生不合理的高CPU使用率。
*/
while(GetMessage(&Msg,NULL,0,0)>0)/*如果沒有收到任何錯誤…*/
{
TranslateMessage(&Msg);/*如果存在翻譯關鍵碼字元*/
DispatchMessage(&Msg);/*發送它到WndProc*/
}
returnMsg.wParam;
}
⑼ C語言如何做界面
我不清楚你的編輯器是哪一種不過都差不多的
先新建工程(文件新建->選第二選項卡->工程->MFC...exe)建立工程後,點左側選項卡中間
就出來個界面刪除掉所有的自己拉一個按鈕控制項上去
按鈕相關代碼你就要上網去搜索系統學習了
⑽ 編寫的C語言程序,怎樣製作一個UI界面
c語言製作UI界面需要相關的UI庫
如windows操作系統本身就提供了UI的介面
一個簡單的示例代碼如下
#include<windows.h>
LRESULTCALLBACKWndProc(HWND,UINT,WPARAM,LPARAM);
intWINAPIWinMain(HINSTANCEhinstance,HINSTANCEhprevinstance,LPSTRline,intcmd)
{
staticTCHARAppName[]=TEXT("99");
HWNDhwnd;
MSGmsg;
WNDCLASSwndclass;
wndclass.style=CS_HREDRAW|CS_VREDRAW;
wndclass.lpfnWndProc=WndProc;
wndclass.cbClsExtra=0;
wndclass.cbWndExtra=0;
wndclass.hInstance=hinstance;
wndclass.hIcon=LoadIcon(NULL,IDI_APPLICATION);
wndclass.hCursor=LoadCursor(NULL,IDC_ARROW);
wndclass.hbrBackground=(HBRUSH)GetStockObject(WHITE_BRUSH);
wndclass.lpszMenuName=NULL;
wndclass.lpszClassName=AppName;
if(!RegisterClass(&wndclass))
{
MessageBox(NULL,TEXT("ThisprogramrequiresWindowsNT!"),AppName,MB_ICONERROR);
return0;
}
hwnd=CreateWindow(AppName,TEXT("九九乘法口訣表"),
WS_OVERLAPPEDWINDOW,
CW_USEDEFAULT,
CW_USEDEFAULT,
CW_USEDEFAULT,
CW_USEDEFAULT,
NULL,
NULL,
hinstance,
NULL);
ShowWindow(hwnd,cmd);
UpdateWindow(hwnd);
while(GetMessage(&msg,NULL,0,0))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
returnmsg.wParam;
}
LRESULTCALLBACKWndProc(HWNDhwnd,UINTmessage,WPARAMwparam,LPARAMlparam)
{
HDChdc;
PAINTSTRUCTps;
RECTrect;
staticx,y;
inti,j;
intlen;
TCHARbuf[50];
TEXTMETRICtm;
switch(message)
{
caseWM_CREATE:
hdc=GetDC(hwnd);
GetTextMetrics(hdc,&tm);
x=tm.tmAveCharWidth;
y=tm.tmHeight+tm.tmExternalLeading;
ReleaseDC(hwnd,hdc);
//MessageBox(NULL,TEXT("CreateSuccessed!"),TEXT("Successed"),MB_OK);
//PlaySound(TEXT("hello.wav"),NULL,SND_FILENAME|SND_ASYNC);
return0;
caseWM_PAINT:
hdc=BeginPaint(hwnd,&ps);
GetClientRect(hwnd,&rect);
//DrawText(hdc,TEXT("HelloWorld!"),-1,&rect,DT_SINGLELINE|DT_CENTER|DT_VCENTER);
//TextOut(hdc,rect.right/2-(strlen("HelloWorld!")/2)*x,rect.bottom/2-y/2,TEXT("HelloWorld!"),12);
for(i=1;i!=10;++i)
{
for(j=1;j!=i+1;++j)
{
len=wsprintf(buf,TEXT("%dx%d=%-4d"),j,i,i*j);
TextOut(hdc,j*len*x,i*y,buf,len);
}
}
EndPaint(hwnd,&ps);
return0;
caseWM_DESTROY:
PostQuitMessage(0);
return0;
}
returnDefWindowProc(hwnd,message,wparam,lparam);
}
上面是一個列印windows下擁有窗口界面的九九乘法口訣表的c語言程序代碼
同樣的c語言也會有其它的UI庫
比如Gtk,Gtk是可移植的UI庫
可以使用它在Linux、windows包括mac等等操作系統上做ui程序設計
一個簡單的示例代碼如下
#include<gtk/gtk.h>
intmain(intargc,char**argv)
{
GtkWidget*win;
GtkWidget*label;
inti,j;
GString*str;
gtk_init(&argc,&argv);
win=gtk_window_new(GTK_WINDOW_TOPLEVEL);
gtk_window_set_position(GTK_WINDOW(win),GTK_WIN_POS_CENTER);
g_signal_connect(G_OBJECT(win),"delete-event",G_CALLBACK(gtk_main_quit),NULL);
str=g_string_new(NULL);
for(i=1;i<=9;++i)
{
for(j=1;j!=i+1;++j)
g_string_append_printf(str,"%dx%d=%-4d",j,i,i*j);
g_string_append(str," ");
}
label=gtk_label_new(str->str);
gtk_container_add(GTK_CONTAINER(win),label);
gtk_widget_show_all(win);
gtk_main();
g_string_free(str,TRUE);
return0;
}