
使用豬八戒APP
隨時隨地享服務(wù)
作者:萊昂然 發(fā)布:2023-05-14 14:37 351瀏覽
//調(diào)用api函數(shù)創(chuàng)建窗口
//示例:
#include
LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);//窗口過程函數(shù)
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;//指定窗口類型,各種“類風(fēng)格”(詳見下方↓)可以使用按位或操作符組合起來
wndclass.lpfnWndProc = WndProc;//指定窗口過程(必須是回調(diào)函數(shù))
wndclass.cbClsExtra = 0;//預(yù)留的額外空間,一般為 0
wndclass.cbWndExtra = 0;//預(yù)留的額外空間,一般為 0
wndclass.hInstance = hInstance;//應(yīng)用程序的實例句柄
wndclass.hIcon = LoadIcon(NULL, IDI_APPLICATION);//為所有基于該窗口類的窗口設(shè)定一個圖標(biāo)
wndclass.hCursor = LoadCursor(NULL, IDC_ARROW);//為所有基于該窗口類的窗口設(shè)定一個鼠標(biāo)指針
wndclass.hbrBackground = (HBRUSH)GetStockObject(WHITE_BRUSH);//指定窗口背景色
wndclass.lpszMenuName = NULL;//指定窗口菜單
wndclass.lpszClassName = szAppName;//指定窗口類名
if (!RegisterClass(&wndclass))//注冊窗口
{
MessageBox(NULL, TEXT(\"這個程序需要在 Windows NT 才能執(zhí)行!\"), szAppName, MB_ICONERROR);
return 0;
}
hwnd = CreateWindow(szAppName, //創(chuàng)建窗口
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)//回調(diào)函數(shù)
{
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);
}
16贊同
2023-05-14 14:38:15推薦閱讀 RECOMMENDED READING