-#pragma comment(linker,"\"/manifestdependency:type='win32' \\r
-name='Microsoft.Windows.Common-Controls' version='6.0.0.0' \\r
-processorArchitecture='*' publicKeyToken='6595b64144ccf1df' language='*'\"")\r
-\r
-#include <windows.h>\r
-#include <CommCtrl.h>\r
-\r
-HWND hwndButton1;\r
-HWND hwndList1;\r
-\r
-const char g_szClassName[] = "MyWindowClass";\r
-\r
-LRESULT CALLBACK\r
-WndProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)\r
-{\r
- switch (msg) {\r
- case WM_CLOSE:\r
- DestroyWindow(hwnd);\r
- break;\r
- case WM_DESTROY:\r
- PostQuitMessage(0);\r
- break;\r
- case WM_COMMAND:\r
- if (HIWORD(wParam) == BN_CLICKED) {\r
- if ((HWND)lParam == hwndButton1) {\r
- SendMessage(hwndList1, LB_ADDSTRING, 0, (LPARAM)"Hello");\r
- }\r
- }\r
- break;\r
- case WM_NOTIFY:\r
- break;\r
- default:\r
- return DefWindowProc(hwnd, msg, wParam, lParam);\r
- }\r
- return 0;\r
-}\r
-\r
-int WINAPI\r
-WinMain(HINSTANCE hInstance,\r
- HINSTANCE hPrevInstance,\r
- LPSTR lpCmdLine,\r
- int nCmdShow)\r
-{\r
- WNDCLASSEX wc;\r
- HWND hwnd;\r
- MSG Msg;\r
-\r
- // Step 1: Registering the Window Class\r
- wc.cbSize = sizeof(WNDCLASSEX);\r
- wc.style = 0;\r
- wc.lpfnWndProc = WndProc;\r
- wc.cbClsExtra = 0;\r
- wc.cbWndExtra = 0;\r
- wc.hInstance = hInstance;\r
- wc.hIcon = LoadIcon(nullptr, IDI_APPLICATION);\r
- wc.hCursor = LoadCursor(nullptr, IDC_ARROW);\r
- wc.hbrBackground = (HBRUSH)(COLOR_WINDOW + 1);\r
- wc.lpszMenuName = nullptr;\r
- wc.lpszClassName = g_szClassName;\r
- wc.hIconSm = LoadIcon(nullptr, IDI_APPLICATION);\r
-\r
-\r
- if (!RegisterClassEx(&wc)) {\r
- MessageBox(nullptr,\r
- "Window Registration Failed!",\r
- "Error!",\r
- MB_ICONEXCLAMATION | MB_OK);\r
- return 0;\r
- }\r
-\r
- // Step 2: Creating the Window\r
- hwnd = CreateWindowA(g_szClassName,\r
- "The title of my window",\r
- WS_OVERLAPPEDWINDOW,\r
- CW_USEDEFAULT,\r
- CW_USEDEFAULT,\r
- CW_USEDEFAULT,\r
- CW_USEDEFAULT,\r
- nullptr,\r
- nullptr,\r
- hInstance,\r
- nullptr);\r
-\r
- HWND tab = CreateWindowExA(0, WC_TABCONTROLA, "", WS_VISIBLE | WS_CHILD | WS_CLIPSIBLINGS, 10, 10, 300, 300, hwnd, nullptr, nullptr, nullptr);\r
- hwndButton1 = CreateWindowExA(0, WC_BUTTONA, "OK", WS_VISIBLE | WS_CHILD, 10, 10, 100, 100, tab, nullptr, nullptr, nullptr);\r
- hwndList1 = CreateWindowExA(0, WC_LISTBOXA, "OK", WS_VISIBLE | WS_CHILD | WS_BORDER | WS_VSCROLL, 110, 10, 100, 100, tab, nullptr, nullptr, nullptr);\r
-\r
- TCITEMA tie;\r
- tie.mask = TCIF_TEXT;\r
- tie.pszText = "Hallo";\r
- TabCtrl_InsertItem(tab, 0, &tie);\r
- tie.mask = TCIF_TEXT;\r
- tie.pszText = "Ciao";\r
- TabCtrl_InsertItem(tab, 1, &tie);\r
-\r
- if (hwnd == nullptr) {\r
- MessageBox(\r
- nullptr, "Window Creation Failed!", "Error!", MB_ICONEXCLAMATION | MB_OK);\r
- return 0;\r
- }\r
-\r
- ShowWindow(hwnd, nCmdShow);\r
- \r
- UpdateWindow(hwnd);\r
-\r
- EnumChildWindows(hwnd, [](HWND hwnd, LPARAM lParam) -> BOOL {\r
- HFONT guiFont = (HFONT) GetStockObject(DEFAULT_GUI_FONT);\r
- SendMessage(hwnd, WM_SETFONT, (WPARAM)guiFont, MAKELPARAM(TRUE, 0));\r
- return TRUE;\r
- }, 0);\r
-\r
- // Step 3: The Message Loop\r
- while (GetMessage(&Msg, nullptr, 0, 0) > 0) {\r
- TranslateMessage(&Msg);\r
- DispatchMessage(&Msg);\r
- }\r
- return Msg.wParam;\r
-}
\ No newline at end of file