#include <windows.h> //載入必要的 windows 頭文件
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{
}
#include <windows.h> //載入必要的 windows 頭文件
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{
MessageBox(NULL, "Hello World!", "WinAPI Lesson1", MB_OK);
}
#include <windows.h> //載入必要的 windows 頭文件
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{
WNDCLASSEX wincl; //定義一個 WNDCLASSEX
wincl.hInstance = hInstance; //填入WinMain第一個參數
wincl.lpszClassName = "FirstLesson"; //給窗口一個 class name
wincl.lpfnWndProc = WinProc; //指定消息循環函數
wincl.style = CS_DBLCLKS; //窗口類型, 其他的可以參考手冊
wincl.cbSize = sizeof(WNDCLASSEX); //定義一個結構大小
wincl.hIcon = LoadIcon(NULL, IDI_APPLICATION); //因為沒有特定的Icon所以使用系統所擁有的 Icon
wincl.hIconSm = LoadIcon(NULL, IDI_APPLICATION);//小Icon同上
wincl.hCursor = LoadCursor(NULL, IDC_ARROW); //鼠標類型同樣使用Windows自帶的
wincl.lpszMenuName = NULL; //因為目前沒製作選單, 所以這裡設定為 NULL
wincl.cbClsExtra = 0; //無任何附加的byte
wincl.cbWndExtra = 0; //無任何其他窗體和結構
wincl.hbrBackground = (HBRUSH) COLOR_BACKGROUND;//設定背景顏色
}
#include <windows.h> //載入必要的 windows 頭文件
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{
WNDCLASSEX wincl; //定義一個 WNDCLASSEX
wincl.hInstance = hInstance; //填入WinMain第一個參數
wincl.lpszClassName = "FirstLesson"; //給窗口一個 class name
wincl.lpfnWndProc = WinProc; //指定消息循環函數
wincl.style = CS_DBLCLKS; //窗口類型, 其他的可以參考手冊
wincl.cbSize = sizeof(WNDCLASSEX); //定義一個結構大小
wincl.hIcon = LoadIcon(NULL, IDI_APPLICATION); //因為沒有特定的Icon所以使用系統所擁有的 Icon
wincl.hIconSm = LoadIcon(NULL, IDI_APPLICATION);//小Icon同上
wincl.hCursor = LoadCursor(NULL, IDC_ARROW); //鼠標類型同樣使用Windows自帶的
wincl.lpszMenuName = NULL; //因為目前沒製作選單, 所以這裡設定為 NULL
wincl.cbClsExtra = 0; //無任何附加的byte
wincl.cbWndExtra = 0; //無任何其他窗體和結構
wincl.hbrBackground = (HBRUSH) COLOR_BACKGROUND;//設定背景顏色
//以上資料填寫好之後就開始註冊
if (!RegisterClassEx(&wincl))
return 0;
}
#include <windows.h> //載入必要的 windows 頭文件
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{
WNDCLASSEX wincl; //定義一個 WNDCLASSEX
wincl.hInstance = hInstance; //填入WinMain第一個參數
wincl.lpszClassName = "FirstLesson"; //給窗口一個 class name
wincl.lpfnWndProc = WinProc; //指定消息循環函數
wincl.style = CS_DBLCLKS; //窗口類型, 其他的可以參考手冊
wincl.cbSize = sizeof(WNDCLASSEX); //定義一個結構大小
wincl.hIcon = LoadIcon(NULL, IDI_APPLICATION); //因為沒有特定的Icon所以使用系統所擁有的 Icon
wincl.hIconSm = LoadIcon(NULL, IDI_APPLICATION);//小Icon同上
wincl.hCursor = LoadCursor(NULL, IDC_ARROW); //鼠標類型同樣使用Windows自帶的
wincl.lpszMenuName = NULL; //因為目前沒製作選單, 所以這裡設定為 NULL
wincl.cbClsExtra = 0; //無任何附加的byte
wincl.cbWndExtra = 0; //無任何其他窗體和結構
wincl.hbrBackground = (HBRUSH) COLOR_BACKGROUND;//設定背景顏色
//以上資料填寫好之後就開始註冊
if (!RegisterClassEx(&wincl))
return 0;
HWND hwnd; //定義一個窗口柄句
hwnd = CreateWindowEx(
0, //窗口延伸類型
"FirstLesson", //窗口的 class name, 需同結構一至
"WinMain GUI Application", //窗口標題
WS_OVERLAPPEDWINDOW, //窗口樣式
100, //螢幕上的X座標點
100, //螢幕上的Y座標點
300, //寬度
200, //高度
HWND_DESKTOP, //定義窗口為Desktop的子窗口
NULL, //同結構一至無選單
hInstance, //WinMain第一個參數
NULL //無任何附加資料
);
//如果創建不成功返回 WinMain 0
if(hwnd == NULL)
return 0;
ShowWindow(hwnd, nCmdShow);
}
#include <windows.h> //載入必要的 windows 頭文件
//定義 WinProc 事件處理函數
LRESULT CALLBACK WinProc (HWND, UINT, WPARAM, LPARAM);
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{
WNDCLASSEX wincl; //定義一個 WNDCLASSEX
wincl.hInstance = hInstance; //填入WinMain第一個參數
wincl.lpszClassName = "FirstLesson"; //給窗口一個 class name
wincl.lpfnWndProc = WinProc; //指定消息循環函數
wincl.style = CS_DBLCLKS; //窗口類型, 其他的可以參考手冊
wincl.cbSize = sizeof(WNDCLASSEX); //定義一個結構大小
wincl.hIcon = LoadIcon(NULL, IDI_APPLICATION); //因為沒有特定的Icon所以使用系統所擁有的 Icon
wincl.hIconSm = LoadIcon(NULL, IDI_APPLICATION);//小Icon同上
wincl.hCursor = LoadCursor(NULL, IDC_ARROW); //鼠標類型同樣使用Windows自帶的
wincl.lpszMenuName = NULL; //因為目前沒製作選單, 所以這裡設定為 NULL
wincl.cbClsExtra = 0; //無任何附加的byte
wincl.cbWndExtra = 0; //無任何其他窗體和結構
wincl.hbrBackground = (HBRUSH) COLOR_BACKGROUND;//設定背景顏色
//以上資料填寫好之後就開始註冊
if (!RegisterClassEx(&wincl))
return 0;
HWND hwnd; //定義一個窗口柄句
hwnd = CreateWindowEx(
0, //窗口延伸類型
"FirstLesson", //窗口的 class name, 需同結構一至
"WinMain GUI Application", //窗口標題
WS_OVERLAPPEDWINDOW, //窗口樣式
100, //螢幕上的X座標點
100, //螢幕上的Y座標點
300, //寬度
200, //高度
HWND_DESKTOP, //定義窗口為Desktop的子窗口
NULL, //同結構一至無選單
hInstance, //WinMain第一個參數
NULL //無任何附加資料
);
//如果創建不成功返回 WinMain 0
if(hwnd == NULL)
return 0;
ShowWindow(hwnd, nCmdShow);
//定義一個 MSG 以接收消息
MSG messages;
//使用 while 循環取得使用者的處理消息
while (GetMessage (&messages, NULL, 0, 0))
{
//轉換處理消息
TranslateMessage(&messages);
//把轉換好的消息傳給 WinProc 函數
DispatchMessage(&messages);
}
//回傳 0 結束程式
return 0;
}
LRESULT CALLBACK WinProc (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
{
//使用 switch case 處理不同事件
switch (message)
{
//當使用者按下關閉按鈕就會觸發 WM_CLOSE, 然而會呼叫 WM_DESTROY
case WM_DESTROY:
PostQuitMessage(0); //使用 PostQuitMessage 設定 message 的 wParam 為 0 退出程式
break;
default:
return DefWindowProc (hwnd, message, wParam, lParam); //呼叫 DefWindowProc 不進行任何處理
}
return 0;
}
欢迎光临 JBTALKS.CC (https://jbtalks.my/) | Powered by Discuz! X2.5 |