aboutsummaryrefslogtreecommitdiff
path: root/win32/examples
diff options
context:
space:
mode:
Diffstat (limited to 'win32/examples')
-rw-r--r--win32/examples/dll.c5
-rw-r--r--win32/examples/hello_win.c192
2 files changed, 99 insertions, 98 deletions
diff --git a/win32/examples/dll.c b/win32/examples/dll.c
index 4202e99..4c1d8ce 100644
--- a/win32/examples/dll.c
+++ b/win32/examples/dll.c
@@ -4,12 +4,9 @@
//
#include <windows.h>
-
#define DLL_EXPORT __declspec(dllexport)
-
DLL_EXPORT void HelloWorld (void)
{
- MessageBox (0, "Hello World!", "From DLL", MB_ICONINFORMATION);
+ MessageBox (0, "Hello World!", "From DLL", MB_ICONINFORMATION);
}
-
diff --git a/win32/examples/hello_win.c b/win32/examples/hello_win.c
index 294b727..96546e4 100644
--- a/win32/examples/hello_win.c
+++ b/win32/examples/hello_win.c
@@ -10,9 +10,7 @@
char szAppName[] = APPNAME; // The name of this application
char szTitle[] = APPNAME; // The title bar text
-char *pWindowText;
-
-HINSTANCE g_hInst; // current instance
+const char *pWindowText;
void CenterWindow(HWND hWnd);
@@ -28,51 +26,49 @@ void CenterWindow(HWND hWnd);
LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
{
- switch (message)
- {
- // ----------------------- first and last
- case WM_CREATE:
- CenterWindow(hwnd);
- break;
-
- case WM_DESTROY:
- PostQuitMessage(0);
- break;
+ switch (message) {
+ // ----------------------- first and last
+ case WM_CREATE:
+ CenterWindow(hwnd);
+ break;
- // ----------------------- get out of it...
- case WM_RBUTTONUP:
- DestroyWindow(hwnd);
- break;
+ case WM_DESTROY:
+ PostQuitMessage(0);
+ break;
- case WM_KEYDOWN:
- if (VK_ESCAPE == wParam)
- DestroyWindow(hwnd);
- break;
+ // ----------------------- get out of it...
+ case WM_RBUTTONUP:
+ DestroyWindow(hwnd);
+ break;
+ case WM_KEYDOWN:
+ if (VK_ESCAPE == wParam)
+ DestroyWindow(hwnd);
+ break;
- // ----------------------- display our minimal info
- case WM_PAINT:
- {
- PAINTSTRUCT ps;
- HDC hdc;
- RECT rc;
- hdc = BeginPaint(hwnd, &ps);
+ // ----------------------- display our minimal info
+ case WM_PAINT:
+ {
+ PAINTSTRUCT ps;
+ HDC hdc;
+ RECT rc;
+ hdc = BeginPaint(hwnd, &ps);
- GetClientRect(hwnd, &rc);
- SetTextColor(hdc, RGB(240,240,96));
- SetBkMode(hdc, TRANSPARENT);
- DrawText(hdc, pWindowText, -1, &rc, DT_CENTER|DT_SINGLELINE|DT_VCENTER);
+ GetClientRect(hwnd, &rc);
+ SetTextColor(hdc, RGB(240,240,96));
+ SetBkMode(hdc, TRANSPARENT);
+ DrawText(hdc, pWindowText, -1, &rc, DT_CENTER|DT_SINGLELINE|DT_VCENTER);
- EndPaint(hwnd, &ps);
- break;
- }
+ EndPaint(hwnd, &ps);
+ break;
+ }
- // ----------------------- let windows do all other stuff
- default:
- return DefWindowProc(hwnd, message, wParam, lParam);
- }
- return 0;
+ // ----------------------- let windows do all other stuff
+ default:
+ return DefWindowProc(hwnd, message, wParam, lParam);
+ }
+ return 0;
}
//+---------------------------------------------------------------------------
@@ -83,57 +79,57 @@ LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
//
//----------------------------------------------------------------------------
int APIENTRY WinMain(
- HINSTANCE hInstance,
- HINSTANCE hPrevInstance,
- LPSTR lpCmdLine,
- int nCmdShow)
+ HINSTANCE hInstance,
+ HINSTANCE hPrevInstance,
+ LPSTR lpCmdLine,
+ int nCmdShow
+ )
{
- MSG msg;
-
- WNDCLASS wc;
-
- HWND hwnd;
+ MSG msg;
+ WNDCLASS wc;
+ HWND hwnd;
- // Fill in window class structure with parameters that describe
- // the main window.
+ pWindowText = lpCmdLine[0] ? lpCmdLine : "Hello Windows!";
- ZeroMemory(&wc, sizeof wc);
- wc.hInstance = hInstance;
- wc.lpszClassName = szAppName;
- wc.lpfnWndProc = (WNDPROC)WndProc;
- wc.style = CS_DBLCLKS|CS_VREDRAW|CS_HREDRAW;
- wc.hbrBackground = (HBRUSH)GetStockObject(BLACK_BRUSH);
- wc.hIcon = LoadIcon(NULL, IDI_APPLICATION);
- wc.hCursor = LoadCursor(NULL, IDC_ARROW);
+ // Fill in window class structure with parameters that describe
+ // the main window.
- if (FALSE == RegisterClass(&wc)) return 0;
+ ZeroMemory(&wc, sizeof wc);
+ wc.hInstance = hInstance;
+ wc.lpszClassName = szAppName;
+ wc.lpfnWndProc = (WNDPROC)WndProc;
+ wc.style = CS_DBLCLKS|CS_VREDRAW|CS_HREDRAW;
+ wc.hbrBackground = (HBRUSH)GetStockObject(BLACK_BRUSH);
+ wc.hIcon = LoadIcon(NULL, IDI_APPLICATION);
+ wc.hCursor = LoadCursor(NULL, IDC_ARROW);
- // create the browser
- hwnd = CreateWindow(
- szAppName,
- szTitle,
- WS_OVERLAPPEDWINDOW|WS_VISIBLE,
- CW_USEDEFAULT,
- CW_USEDEFAULT,
- 360,//CW_USEDEFAULT,
- 240,//CW_USEDEFAULT,
- 0,
- 0,
- g_hInst,
- 0);
+ if (FALSE == RegisterClass(&wc))
+ return 0;
- if (NULL == hwnd) return 0;
+ // create the browser
+ hwnd = CreateWindow(
+ szAppName,
+ szTitle,
+ WS_OVERLAPPEDWINDOW|WS_VISIBLE,
+ CW_USEDEFAULT,
+ CW_USEDEFAULT,
+ 360,//CW_USEDEFAULT,
+ 240,//CW_USEDEFAULT,
+ 0,
+ 0,
+ hInstance,
+ 0);
- pWindowText = lpCmdLine[0] ? lpCmdLine : "Hello Windows!";
+ if (NULL == hwnd)
+ return 0;
- // Main message loop:
- while (GetMessage(&msg, NULL, 0, 0) > 0)
- {
- TranslateMessage(&msg);
- DispatchMessage(&msg);
- }
+ // Main message loop:
+ while (GetMessage(&msg, NULL, 0, 0) > 0) {
+ TranslateMessage(&msg);
+ DispatchMessage(&msg);
+ }
- return msg.wParam;
+ return msg.wParam;
}
//+---------------------------------------------------------------------------
@@ -142,18 +138,26 @@ int APIENTRY WinMain(
void CenterWindow(HWND hwnd_self)
{
- RECT rw_self, rc_parent, rw_parent; HWND hwnd_parent;
- hwnd_parent = GetParent(hwnd_self);
- if (NULL==hwnd_parent) hwnd_parent = GetDesktopWindow();
- GetWindowRect(hwnd_parent, &rw_parent);
- GetClientRect(hwnd_parent, &rc_parent);
- GetWindowRect(hwnd_self, &rw_self);
- SetWindowPos(hwnd_self, NULL,
- rw_parent.left + (rc_parent.right + rw_self.left - rw_self.right) / 2,
- rw_parent.top + (rc_parent.bottom + rw_self.top - rw_self.bottom) / 2,
- 0, 0,
- SWP_NOSIZE|SWP_NOZORDER|SWP_NOACTIVATE
- );
+ HWND hwnd_parent;
+ RECT rw_self, rc_parent, rw_parent;
+ int xpos, ypos;
+
+ hwnd_parent = GetParent(hwnd_self);
+ if (NULL == hwnd_parent)
+ hwnd_parent = GetDesktopWindow();
+
+ GetWindowRect(hwnd_parent, &rw_parent);
+ GetClientRect(hwnd_parent, &rc_parent);
+ GetWindowRect(hwnd_self, &rw_self);
+
+ xpos = rw_parent.left + (rc_parent.right + rw_self.left - rw_self.right) / 2;
+ ypos = rw_parent.top + (rc_parent.bottom + rw_self.top - rw_self.bottom) / 2;
+
+ SetWindowPos(
+ hwnd_self, NULL,
+ xpos, ypos, 0, 0,
+ SWP_NOSIZE|SWP_NOZORDER|SWP_NOACTIVATE
+ );
}
//+---------------------------------------------------------------------------