導航:首頁 > 編程語言 > cwindows窗體程序

cwindows窗體程序

發布時間:2023-08-22 03:29:05

㈠ 用C語言編寫windows窗體程序,怎麼創建按鈕以及怎麼添加按鈕的觸發事件啊

Windows
窗體程序是基於消息機制的,所有控制項,它的本質都是一個窗體,都是使用
CreateWindows
函數來創內建,不過類名,容則需要指定為系統預先注冊的控制項類,比如,你要創建一個按鈕控制項,就要這樣子
CreateWindows(
"BUTTON",
"按鈕標題"
),CreateWindows
這個函數你應該用了不少了吧,其餘的參數可以參考
MSDN,但是類名我們指定了
「BUTTON」,說明我們要創建一個按鈕,每個按鈕都有一個唯一的
ID,通過你的消息處理函數,可以知道哪個按鈕發生了什麼事件,詳細講的話,非常多,你可以參考
MSDN,或者《Windows
程序設計》這本書

㈡ 如何用C語言編寫一個窗體應用程序

最好不要,稍微麻煩一點的窗體程序你就搞不定,而且資料非常少
比較合算的應該是C#的WPF, VC的MFC,都不是C語言的

㈢ 怎麼用c語言寫窗體程序

步驟:
1、注冊窗口類;
2、創建窗體;
3、消息循環;
4、編寫窗口消息處理函數。

代碼


#include<windows.h>
#include<tchar.h>
LRESULTCALLBACKWindowProc(HWNDhwnd,UINTmsg,WPARAMwParam,LPARAMlParam);
intWINAPI_tWinMain(HINSTANCEhInstance,HINSTANCEhPrevInstance,LPWSTRszCmdLine,intnCmdShow)
{
WNDCLASSwc;
wc.style=CS_HREDRAW|CS_VREDRAW;
wc.lpfnWndProc=WindowProc;
wc.cbClsExtra=0;
wc.cbWndExtra=0;
wc.hInstance=hInstance;
wc.hIcon=NULL;
wc.hCursor=LoadCursor(NULL,IDC_ARROW);
wc.hbrBackground=(HBRUSH)COLOR_WINDOW;//(HBRUSH)GetStockObject();
wc.lpszMenuName=NULL;
wc.lpszClassName=_T("MyWindowClass");
if(!RegisterClass(&wc))
{
MessageBox(NULL,_T("無法注冊窗口類"),_T("錯誤"),MB_OK);
return0;
}
HWNDnewWindow=CreateWindow(
_T("MyWindowClass"),
_T("我的第一個winapi程序"),
WS_OVERLAPPEDWINDOW,
0,
0,
CW_USEDEFAULT,
CW_USEDEFAULT,
NULL,
NULL,
hInstance,
NULL
);
if(NULL==newWindow)
{
MessageBox(NULL,_T("無法創建窗體"),_T("錯誤"),MB_OK);
return0;
}
ShowWindow(newWindow,nCmdShow);
UpdateWindow(newWindow);
MSGmsg;
while(GetMessage(&msg,NULL,0,0))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
}
LRESULTCALLBACKWindowProc(HWNDhwnd,UINTuMsg,WPARAMwParam,LPARAMlParam)
{
switch(uMsg)
{
caseWM_DESTROY:
{
PostQuitMessage(0);
break;
}
default:
returnDefWindowProc(hwnd,uMsg,wParam,lParam);
}
return0;
}

就是一個只有標題欄、關閉按鈕、最小化按鈕、最大化/還原按鈕、顯示區域的窗體。

㈣ 計算機編程在哪裡編

計算機編程在VisualC++6.0編。
VisualC++6.0,裡面既可以用散纖吵C也可以用C++。開始用C的話只能先從控制台程序起步,就是命令行的那種程沖侍序,因為這種程序結構比較簡單。
WINDOWS窗體豎櫻程序比較復雜,不適合初學者,主要原因不是C語言,而是WINDOWS本身比較復雜,不好理解,因為編寫程序既要考慮語言,更要考慮操作系統平台。要展示和控制一個窗體,還是比較麻煩的。

㈤ 怎麼用C語言編寫一個windows窗口

  1. 調用window庫窗口函數即可創建windows窗口。

  2. 必須使用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語言做一個windows應用程序窗口界面

一樓答的抄MFC一般需要使用C++語言。
使用Win32可以簡單的使用C語言完成Windows應用程序窗口界面。
推薦你看看《Windows程序設計》這本書,我有電子版,如果需要給我發郵件。
[email protected]

閱讀全文

與cwindows窗體程序相關的資料

熱點內容
驅動程序順序安裝腳本 瀏覽:665
word文件里怎樣查重 瀏覽:219
mx5系統基帶版本 瀏覽:184
ntlea全域通win10 瀏覽:171
qq怎麼查看別人的收藏 瀏覽:135
地震三參數matlab程序 瀏覽:57
怎樣給優盤文件加密軟體 瀏覽:7
收拾文件有哪些小妙招 瀏覽:431
pdf文件去底網 瀏覽:253
win10重裝系統需要格式化c盤嗎 瀏覽:424
路由器trx文件 瀏覽:655
淘寶店鋪數據包怎麼做 瀏覽:195
win10鍵盤黏連 瀏覽:332
json如何生成表格 瀏覽:323
怎麼修復sql資料庫表 瀏覽:40
微信微博差別 瀏覽:163
簽到積分換禮品app 瀏覽:812
mfc最近打開文件 瀏覽:672
app埋點平台都有哪些app 瀏覽:314
瑞斯康達網路管理界面 瀏覽:254

友情鏈接