① 如何用C語言編寫一個窗體應用程序
最好不要,稍微麻煩一點的窗體程序你就搞不定,而且資料非常少
比較合算的應該是C#的WPF, VC的MFC,都不是C語言的
② 如何用C語言編寫一個簡單的程序!
上了大學有很多同學都在學習C語言,C++就是C語言的一種,那麼怎麼用c語言寫一個簡單的程序hello world呢,下邊來給大家演示一下
電腦,c語言軟體
滑鼠左鍵雙擊c語言軟體,打開,打開後界面如圖,點擊關閉即可
點擊上方程序窗口左上角的文件,選擇新建
在打開的窗口中選擇文件,下邊一般是第四個 c++Source file,輸入文件名(hellw.c),一定要以「.c」為後綴結尾
進入編輯頁面在,頁面編輯源代碼就可以
#include<stdio.h>
void main()
{
printf("hello world!"
);
}
然後選擇保存,列印,輸出運行。
輸出的效果就是這樣了,一個簡單的c語言程序就寫好了
所有的輸入都要在英文半形的情況下輸入,不然程序會不能識別,會報錯。
③ 用C語言進行程序設計一個模擬窗口的程序
#include<stdio.h>
#include<graphics.h>
int main()
{
int gdriver,gmode,i;
gdriver=DETECT;
initgraph(&gdriver,&gmode," ");
setbkcolor(BLUE);
cleardevice();
setcolor(WHITE);
line(20,20,20,180);
line(20,20,280,20);
setcolor(8);
line(20,180,280,180);
line(280,180,280,20);
setcolor(7);
line(21,21,21,179);
line(21,21,279,21);
line(21,179,279,179);
line(279,179,279,21);
setfillstyle(1,7);
floodfill(30,50,7);
setcolor(8);
line(30,30,270,30);
line(30,30,30,170);
setcolor(15);
line(30,170,270,170);
line(270,170,270,30);
setcolor(7);
line(31,31,31,169);
line(31,31,269,169);
line(31,169,269,169);
line(269,169,269,31);
floodfill(25,25,7);
setcolor(13);
settextstyle(1,0,2);
outtextxy(115,85,"window");
getch();
closegraph();
return 0;
}
④ 怎麼用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);
}
⑤ 用c語言怎麼創建一個窗口
通過調用windowsAPI來創建窗口:
#include<windows.h>
intmain()
{
MessageBox(NULL,"HelloWorld!","C圖形程序",MB_OK);
return0;
}
這個是最簡單的了版
至於MFCQT什麼的代碼權太多了
⑥ 學c語言如何做出有界面的程序
1、新建一個C項目,點擊文件,新建,項目,選擇C++Win32控制台應用。
⑦ C語言如何創建窗口
windows下通過調用API來創建窗口:
#include<windows.h>
int main()
{
MessageBox(NULL,"Hello World!","C圖形程序",MB_OK);
return 0;
}
linux下通過調用圖形庫來創建窗口。
樓主如回果是學C的話,先不答要急於搞這些東西,把基礎打扎實才是最重要的,GUI可以後學。基礎扎實了,這些只是很簡單的東西。
⑧ 怎樣使用visual studio 2010以C語言編一個簡單的窗口程序
VC2010
生成的工程默認是
Unicode
編碼,字元串必須是
Unicode
字元,在前面加上
L:
MessageBox(NULL,
L"Hello
World!",
L"我的第一個窗口程序",
MB_OK);
一般來說,用
VC
開發程序都不這樣寫,而是應該是使用微軟定義的數據類型和宏,這樣便能同時編譯
ANSI
版本,不用修改源文件。須包含頭文件
tchar.h,對於字元串應使用
_T
或
TEXT
宏將其包含,如
_T("Hello")。當定義
Unicode
時,等同於
L"Hello";未定義時等同於
"Hello"。所以一般都寫成這樣:
#include
#include
void
main()
{
MessageBox(NULL,
_T("Hello
World!"),
_T("我的第一個窗口程序"),
MB_OK);
}
當然,上面說過,像樓上那樣使用
TEXT
宏也是可以的,兩者是同一個東西。
⑨ 如何用C語言開發窗體應用程序。。
生產窗體可以使用函數。
函數功能:該函數創建一個具有擴展風格的層疊式窗口、彈出式窗口或子窗口,其他與CreateWindow函數相同。
函數原型:
CreateWindowEx函數創建一個層疊的,自動彈出的(pop-up)或是一個子窗口通過擴展格式。另外這個函數的作用與CreateWindow函數的作用相同。要獲得更多的關於創建窗口的信息和關於CreateWindowEx函數參數的詳細描述。參見CreateWindow
HWND CreateWindowEx(
DWOR DdwExStyle, //窗口的擴展風格
LPCTSTR lpClassName, //指向注冊類名的指針
LPCTSTR lpWindowName, //指向窗口名稱的指針
DWORD dwStyle, //窗口風格
int x, //窗口的水平位置
int y, //窗口的垂直位置
int nWidth, //窗口的寬度
int nHeight, //窗口的高度
HWND hWndParent, //父窗口的句柄
HMENU hMenu, //菜單的句柄或是子窗口的標識符
HINSTANCE hInstance, //應用程序實例的句柄
LPVOID lpParam //指向窗口的創建數據
);
常式:
include<windows.h>
#include<stdio.h>
LRESULTCALLBACKWinDouProc(
HWNDhwnd,//handletowindow
UINTuMsg,//messageidentifier
WPARAMwParam,//firstmessageparameter
LPARAMlParam//secondmessageparameter
);
classCWnd
{
public:
CWnd()
{
m_hWnd=NULL;
}
BOOLCreateEx(
DWORDdwExStyle,//extendedwindowstyle
LPCTSTRlpClassName,//pointertoregisteredclassname
LPCTSTRlpWindowName,//pointertowindowname
DWORDdwStyle,//windowstyle
intx,//horizontalpositionofwindow
inty,//verticalpositionofwindow
intnWidth,//windowwidth
intnHeight,//windowheight
HWNDhWndParent,//handletoparentorownerwindow
HMENUhMenu,//handletomenuorchild-windowidentifier
HANDLEhInstance,//handletoapplicationinstance
LPVOIDlpParam//pointertowindow-creationdata
);
BOOLShowWindow(intnCmdShow);
BOOLUpdateWindow();
public:
HWNDm_hWnd;
};
BOOLCWnd::CreateEx(
DWORDdwExStyle,//extendedwindowstyle
LPCTSTRlpClassName,//pointertoregisteredclassname
LPCTSTRlpWindowName,//pointertowindowname
DWORDdwStyle,//windowstyle
intx,//horizontalpositionofwindow
inty,//verticalpositionofwindow
intnWidth,//windowwidth
intnHeight,//windowheight
HWNDhWndParent,//handletoparentorownerwindow
HMENUhMenu,//handletomenuorchild-windowidentifier
HANDLEhInstance,//handletoapplicationinstance
LPVOIDlpParam//pointertowindow-creationdata
)
{
m_hWnd=::CreateWindowEx(dwExStyle,lpClassName,lpWindowName,dwStyle,x,y,nWidth,nHeight,hWndParent,hMenu,(HINSTANCE)hInstance,lpParam);
if(m_hWnd!=NULL)
returnTRUE;
else
returnFALSE;
}
BOOLCWnd::ShowWindow(intnCmdShow)
{
return::ShowWindow(m_hWnd,nCmdShow);
}
BOOLCWnd::UpdateWindow()
{
return::UpdateWindow(m_hWnd);
}
intWINAPIWinMain(
HINSTANCEhInstance,//handletocurrentinstance
HINSTANCEhPrevInstance,//handletopreviousinstance
LPSTRlpCmdLine,//pointertocommandline
intnCmdShow//showstateofwindow
)
{
WNDCLASSwndclass;//先設計窗口類
wndclass.cbClsExtra=0;
wndclass.cbWndExtra=0;
wndclass.hbrBackground=(HBRUSH)GetStockObject(DKGRAY_BRUSH);
wndclass.hCursor=LoadCursor(NULL,IDC_HELP);
wndclass.hIcon=LoadIcon(NULL,IDI_WARNING);
wndclass.hInstance=hInstance;
wndclass.lpfnWndProc=WinDouProc;
wndclass.lpszClassName="Magic_Maggie";
wndclass.lpszMenuName=0;
wndclass.style=CS_VREDRAW|CS_HREDRAW;
//某一個變數原油幾個變數去掉一個特徵,可以用取反(~)後再進行與(&)
//例如:style上去掉CS_NOCLOSE,可以style&~CS_NOCLOSE;
RegisterClass(&wndclass);///注意先建立再注冊昂
CWndwnd;
wnd.CreateEx(NULL,"Magic_Maggie","DouDou",WS_OVERLAPPEDWINDOW,0,0,800,600,NULL,NULL,hInstance,NULL);
wnd.ShowWindow(SW_SHOWNORMAL);
wnd.UpdateWindow();
MSGmsg;//消息循環
while(GetMessage(&msg,NULL,0,0))
{
TranslateMessage(&msg);
DispatchMessage(&msg);//觸發WinDouProc
}
return0;
}
LRESULTCALLBACKWinDouProc(
HWNDhwnd,//handletowindow
UINTuMsg,//messageidentifier
WPARAMwParam,//firstmessageparameter
LPARAMlParam//secondmessageparameter
)
{
switch(uMsg)
{
caseWM_LBUTTONDOWN:
MessageBox(hwnd,"您按下了滑鼠左鍵昂","豆豆的程序",MB_OK);
HDChdc;
hdc=GetDC(hwnd);
//.text.
TextOut(hdc,0,0,"感謝您對豆豆程序的支持昂",strlen("感謝您對豆豆程序的支持昂"));
ReleaseDC(hwnd,hdc);
break;
caseWM_CHAR:
charszChar[20];
sprintf(szChar,"Charis%d",wParam);
MessageBox(hwnd,szChar,"豆豆的程序",MB_OK);
break;
caseWM_PAINT:
PAINTSTRUCTps;
HDChDc;
hDc=BeginPaint(hwnd,&ps);
TextOut(hDc,0,0,"這個是重繪滴哦",strlen("這個是重繪滴哦"));
EndPaint(hwnd,&ps);
break;
caseWM_CLOSE://這個case與下邊的destroy這個case不要弄錯了,否則窗口不出現,但任務管理器中運行
if(IDYES==MessageBox(hwnd,"您真的要退出么?","豆豆的程序",MB_YESNO))
{
DestroyWindow(hwnd);
}
break;
caseWM_DESTROY:
PostQuitMessage(0);
//////////////////////////////////////////?????????????????????
break;
default:
returnDefWindowProc(hwnd,uMsg,wParam,lParam);//別忘記了return
}
return0;
}
⑩ C語言能編寫成窗口式的執行程序嗎
當然能了,因為Windows本身就是C語言編寫出來的.不過寫Windows窗口程序要使用Windows
API編程.