1. 用c語言怎麼創建一個窗口
通過調用API來創建窗口:
#include<windows.h>
int main()
{
MessageBox(NULL,"Hello World!","C圖形程序",MB_OK);
return 0;
}
linux下通過調用圖形庫來創建窗口。
2. C語言如何創建窗口
windows下通過調用API來創建窗口:
#include<windows.h>
int main()
{
MessageBox(NULL,"Hello World!","C圖形程序",MB_OK);
return 0;
}
linux下通過調用圖形庫來創建窗口。
樓主如果是學C的話,先不要急於搞這些東西,把基礎打扎實才是最重要的,GUI可以後學。基礎扎實了,這些只是很簡單的東西。
3. 如何用C語言編寫一個簡單的程序!
上了大學有很多同學都在學習C語言,C++就是C語言的一種,那麼怎麼用c語言寫一個簡單的程序hello world呢,下邊來給大家演示一下
工具/材料
電腦,c語言軟體
- 01
滑鼠左鍵雙擊c語言軟體,打開,打開後界面如圖,點擊關閉即可
- 02
點擊上方程序窗口左上角的文件,選擇新建
- 03
在打開的窗口中選擇文件,下邊一般是第四個 c++Source file,輸入文件名(hellw.c),一定要以「.c」為後綴結尾
- 04
進入編輯頁面在,頁面編輯源代碼就可以
#include<stdio.h>
void main()
{
printf("hello world!" );
}
然後選擇保存,列印,輸出運行。 - 05
輸出的效果就是這樣了,一個簡單的c語言程序就寫好了
特別提示
所有的輸入都要在英文半形的情況下輸入,不然程序會不能識別,會報錯。
4. 怎麼用C語言編寫一個windows窗口
調用window庫窗口函數即可創建windows窗口。
必須使用windows的編譯器,如VC,MS等等。
RegisterClassEx函數:
該函數注冊在隨後調用CreateWindow函數和CreateWindowEx函數中使用的窗口類。 RegisterClass函數己經由函數RegisterClassEx函數來代替,但是,如果不需要設置類的小目標則仍然可以使用RegisterClass函數。
CreateWindowEx函數:
該函數創建一個具有擴展風格的層疊式窗口、彈出式窗口或子窗口,其他與CreateWindow函數相同。關於創建窗口和其他參數的內容,請參看CreateWindow。具體仍可見微軟的msdn。
消息處理函數WindowProc:
該函數是一個應用程序定義的函數。它處理發送給窗口的消息。WINDPROC類型定義了一個指向該回調函數的指針。WindowProc是用於應用程序定義函數的佔位符。
函數原型:
LRESULT CALLBACK WindowProc (HWND hwnd,
UINT uMsg,
WPARAM wParam,
LPARAM lParam);
參數:
hwnd:指向窗口的句柄。
uMsg:指定消息類型。
wParam:指定其餘的、消息特定的信息。該參數的內容與UMsg參數值有關。
IParam:指定其餘的、消息特定的信息。該參數的內容與uMsg參數值有關。
返回值:返回值就是消息處理結果,它與發送的消息有關。
一個簡單的Window的代碼如下:#include<Windows.h>
#include<tchar.h>
LRESULTWINAPIWinProc(HWNDhWnd,UINTMsg,WPARAMwParam,LPARAMlParam);
intWinMain(
__inHINSTANCEhInstance,
__in_optHINSTANCEhPrevInstance,
__inLPSTRlpCmdLine,
__inintnShowCmd
)
{
TCHAR*szName=_T("myWindow");
WNDCLASSEXwc={0};
HWNDhWnd=NULL;
MSGMsg={0};
wc.cbClsExtra=0;
wc.cbWndExtra=0;
wc.cbSize=sizeof(WNDCLASSEX);
wc.hbrBackground=(HBRUSH)GetStockObject(WHITE_BRUSH);//通過函數來設置一個白色的背景,這里大家設置為NULL看看,會很有趣的
wc.hCursor=NULL;//不設置
wc.hIcon=NULL;//不設置
wc.hIconSm=NULL;//不設置
wc.hInstance=hInstance;//當前程序的句柄,hInstance是有系統給傳遞的
wc.lpfnWndProc=WinProc;//窗口處理過程的回調函數。
wc.lpszClassName=szName;//窗口類的名字。
wc.lpszMenuName=NULL;
wc.style=CS_HREDRAW|CS_VREDRAW;
RegisterClassEx(&wc);//在系統中注冊
hWnd=CreateWindowEx(WS_EX_CLIENTEDGE,szName,_T("我的窗口我喜歡"),WS_OVERLAPPEDWINDOW,
200,100,600,400,NULL,NULL,hInstance,NULL);//創建窗口,窗口標題為"我的窗口我喜歡"
if(hWnd==NULL)
{
MessageBox(NULL,_T("There'sanError"),_T("ErrorTitle"),MB_ICONEXCLAMATION|MB_OK);
return0;
}
ShowWindow(hWnd,nShowCmd);//顯示窗口
UpdateWindow(hWnd);
//下面是對消息的循環處理,大家先不必管這些,下節課我會細說的
while(GetMessage(&Msg,NULL,0,0))
{
TranslateMessage(&Msg);//翻譯消息
DispatchMessage(&Msg);//分派消息
}
returnMsg.message;
}
//消息處理函數
LRESULTWINAPIWinProc(HWNDhWnd,UINTMsg,WPARAMwParam,LPARAMlParam)
{
switch(Msg)//處理消息過程
{
caseWM_DESTROY://響應滑鼠單擊關閉按鈕事件
PostQuitMessage(0);//退出消息隊列
return0;//退出函數
}
returnDefWindowProc(hWnd,Msg,wParam,lParam);
}
5. 如何用C語言編寫一個窗體應用程序
要用C語言編寫一個窗體應用程序需要調用系統或第三方提供的API函數,一般的步驟是:
定義窗口類
注冊窗口類
創建窗口
顯示、更新窗口
進行消息循環,不斷處理窗口消息
6. 學c語言如何做出有界面的程序
1、新建一個C項目,點擊文件,新建,項目,選擇C++Win32控制台應用。
7. C語怎麼寫窗口
C語言在windows當然可以寫窗口的,早期的窗口很多是用C而非C++寫的只是現在很少有人這樣做了(因為有MFC,VCL,QT)以下是一個EX:#include<windows.h>/**/LRESULTCALLBACKWndProc(HWNDhwnd,UINTMessage,WPARAMwParam,LPARAMlParam){switch(Message){/*Upondestruction,tellthemainthreadtostop*/caseWM_DESTROY:{PostQuitMessage(0);break;}/*Allothermessages(alotofthem)*/default:returnDefWindowProc(hwnd,Message,wParam,lParam);}return0;}/*The'main'functionofWin32GUIprograms:thisiswhereexecutionstarts*/intWINAPIWinMain(HINSTANCEhInstance,HINSTANCEhPrevInstance,LPSTRlpCmdLine,intnCmdShow){WNDCLASSEXwc;/*Apropertiesstructofourwindow*/HWNDhwnd;/*A'HANDLE',hencetheH,orapointertoourwindow*/MSGMsg;/**//**/memset(&wc,0,sizeof(wc));wc.cbSize=sizeof(WNDCLASSEX);wc.lpfnWndProc=WndProc;/**/wc.hInstance=hInstance;wc.hCursor=LoadCursor(NULL,IDC_ARROW);/*White,COLOR_WINDOWisjusta#defineforasystemcolor,tryCtrl+Clickingit*/wc.hbrBackground=(HBRUSH)(COLOR_WINDOW+1);wc.lpszClassName="WindowClass";wc.hIcon=LoadIcon(NULL,IDI_APPLICATION);/*Loadastandardicon*/wc.hIconSm=LoadIcon(NULL,IDI_APPLICATION);/*usethename"A"tousetheprojecticon*/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,/*width*/480,/*height*/NULL,NULL,hInstance,NULL);if(hwnd==NULL){MessageBox(NULL,"WindowCreationFailed!","Error!",MB_ICONEXCLAMATION|MB_OK);return0;}/*.,*/while(GetMessage(&Msg,NULL,0,0)>0){/*Ifnoerrorisreceived...*/TranslateMessage(&Msg);/**/DispatchMessage(&Msg);/*SendittoWndProc*/}returnMsg.wParam;}
8. C語言如何開發桌面GUI應用程序
這里介紹一種非常簡單的方法,使用GTK,一個基於C語言開發的跨平台圖形工具包,可以直接
使用C語言
快速完成桌面GUI程序的開發,下面我簡單介紹一下實現過程,主要內容如下:
使用C語言
1.首先,下載安裝GTK,這里有2種方法,一種是按照GTK官網的方法一步一步配置,還有一種是直接使用打包好的GTK-bundle包,這里以第二種方法為例,直接使用打包好的GTK-bundle包,這個可以直接在CSDN上找到下載,如下,解壓這個zip文件到任意一個文件夾,之後需要將bin目錄添加到環境變數中:
這里你也可以配置Dev-C++,VS2017都可以,網上也有相關資料和教程。至此,我們就完成了利用C語言來開發桌面GUI程序,總的來說,整個過程不難,就是有些繁瑣,C語言運行效率高,但畢竟封裝性差,做GUI開發還是有些復雜,如果你想快速開發一個GUI應用,可以考慮使用一下其他語言,如C++,C#,Electron等,更簡單也更快捷,希望以上分享的內容能對你有所幫助吧,也歡迎大家評論、留言。