в нижней левой части рабочего
wc.lpszMenuName = MAKEINTRESOURCE(IDR_APPMENU);
wc.lpszClassName = szAppName;
if(!RegisterClassEx(&wc))
if(!RegisterClass((LPWNDCLASS)&wc.style))
return FALSE;
// Создаем главное окно приложения
hWnd = CreateWindow(szAppName, szAppTitle,
WS_POPUPWINDOW | WS_THICKFRAME,
100, 100, 100, 100,
NULL, NULL, hInst, NULL);
if(!hWnd) return(FALSE);
// Размещаем окно в нижней левой части рабочего стола
GetWindowRect(GetDesktopWindow(), &rc);
MoveWindow(hWnd,
rc.right - cxChar * 25,
rc.bottom - cyChar * 3,
cxChar * 10, cyChar * 2, TRUE);
// Отображаем окно и запускаем цикл
// обработки сообщений
ShowWindow(hWnd, nCmdShow);
UpdateWindow(hWnd);
while(GetMessage(&msg, NULL, 0, 0))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
return msg.wParam;
}
// -----------------------------------------------------
// Функция WndProc
// -----------------------------------------------------
LRESULT WINAPI
WndProc(HWND hWnd, UINT msg, WPARAM wParam,
LPARAM lParam)
{
switch(msg)
{
// Это сообщение посылается приложением STIME
case WM_COPYDATA:
{
// Копируем данные, полученные от приложения STIME,
// во внутренний буфер
strcpy(szBuf, ((PCOPYDATASTRUCT)lParam)->lpData);
// Перерисовываем содержимое окна, отображая в нем
// полученную строку символов
InvalidateRect(hWnd, NULL, TRUE);
break;
}
HANDLE_MSG(hWnd, WM_CREATE, WndProc_OnCreate);
HANDLE_MSG(hWnd, WM_DESTROY, WndProc_OnDestroy);
HANDLE_MSG(hWnd, WM_PAINT, WndProc_OnPaint);
default:
return(DefWindowProc(hWnd, msg, wParam, lParam));
}
}
// -----------------------------------------------------
// Функция WndProc_OnCreate
// -----------------------------------------------------
BOOL WndProc_OnCreate(HWND hWnd,
LPCREATESTRUCT lpCreateStruct)
Содержание Назад Вперед