C說話+win32api寫窗體運用法式。本站提示廣大學習愛好者:(C說話+win32api寫窗體運用法式)文章只能為提供參考,不一定能成為您想要的結果。以下是C說話+win32api寫窗體運用法式正文
昨晚看了一下win32api編程的常識,我在網上搜刮了很多教程,一個丑化版的windows編程,代碼訛奪百出,缺字,翻譯難明僵硬,術語不專業,一個windows.c編程,隱約,並且用的是VC++6.0,因為我的電腦裝不上vc++6.0,只能用vs2008,很多操作和函數都不太一樣了。在網上找到一篇博客園的win32api編程的文章,照抄上去,成果編譯上去幾十個毛病……暈逝世了。
後來照樣參照以下四個步調,本身查MSDN用C說話寫出來了,暈逝世,英文欠好,話說,金山詞霸對MSDN的整句翻譯很專業啊。
步調:
1、注冊窗口類;
2、創立窗體;
3、新聞輪回;
4、編寫窗口新聞處置函數。
代碼:
#include <windows.h> #include<tchar.h> LRESULT CALLBACK WindowProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam); int WINAPI _tWinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance, LPWSTR szCmdLine, int nCmdShow) { WNDCLASS wc; 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); return 0 ; } HWND newWindow = 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); return 0; } ShowWindow(newWindow, nCmdShow); UpdateWindow(newWindow); MSG msg; while(GetMessage(&msg, NULL, 0, 0)) { TranslateMessage(&msg); DispatchMessage(&msg); } } LRESULT CALLBACK WindowProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam) { switch (uMsg) { case WM_DESTROY: { PostQuitMessage(0); break; } default : return DefWindowProc(hwnd, uMsg, wParam, lParam); } return 0; }
就是一個只要題目欄、封閉按鈕、最小化按鈕、最年夜化/復原按鈕、顯示區域的窗體。
用純C寫的,愁悶逝世了,好長啊,win32api超等多宏的,又愛又恨,煩逝世了