Каркас приложения Windows для BCBuilder5, но он также потходит и для Visual C
#include
<windows.h>
#include
<string.h>
#include<stdio.h>
LRESULT CALLBACK
WindowFunc(HWND,UINT,WPARAM,LPARAM);
char
szwinname[] = "May Window";
int
WINAPI WinMain(HINSTANCE hthisinst,
HINSTANCE hprevinst,
LPSTR lpszargs,
int nwinmode)
{
HWND hwnd; // дескриптор (заголовок) окна, т.е. номер,
// единственным образом идентифицирующий окно
MSG msg; //
сообщение состоит из HWND окна,
// получающего сообщение, UINT (номер)
сообщения
// LPARAM, WPARAM, DWORD time, POINT pt -позиция курсора
WNDCLASS wcl;
wcl.hInstance = hthisinst;
// дескриптор данного приложения
wcl.lpszClassName = szwinname;
// имя класса окна
wcl.lpfnWndProc= WindowFunc; // оконная функция
wcl.style = 0; //
стиль по умолчанию
wcl.hIcon = LoadIcon (NULL, IDI_APPLICATION);//как exe - MSDOS
//
IDI_ASTERISK - перевернутый воскл знак (информация)
//
IDI_EXCLAMATION - внимание (воскл знак в желтом тр-ке)
// ID_HAND
- знак стоп (два скрещенных отрезка в красном круге)
//
IDI_QUESTION - вопрос в белом круге
wcl.hCursor = LoadCursor(NULL,IDC_ARROW); // курсор выводится как стрелка
// CROSS (+), IBEAM (верт черта), (WAIT) пес часы
wcl.lpszMenuName = NULL;
wcl.cbClsExtra = 0;
wcl.cbWndExtra = 0;
// цвет окна белый
wcl.hbrBackground =
(HBRUSH)GetStockObject(WHITE_BRUSH);
if(!RegisterClass(&wcl)) // регистрация окна
return 0;
hwnd = CreateWindow(szwinname,
"KARKAS",
WS_OVERLAPPEDWINDOW,
CW_USEDEFAULT,
CW_USEDEFAULT,
CW_USEDEFAULT,
CW_USEDEFAULT,
HWND_DESKTOP,
NULL,hthisinst,
NULL);
ShowWindow(hwnd,nwinmode); // показать окно
UpdateWindow(hwnd); // перерисовать содержимое
while(GetMessage(&msg,NULL,0,0))
{
TranslateMessage(&msg);// транслировать клавиши
// если убрать, то не будет реагировать на клавиши
DispatchMessage(&msg);// вернуть управление Windows
}
return msg.wParam;
}
LRESULT
CALLBACK WindowFunc(HWND hwnd,UINT message,WPARAM wParam,
LPARAM
lParam)
{
switch(message)
{
case WM_DESTROY:
PostQuitMessage(0);
break;
default:
return
DefWindowProc(hwnd,message,wParam,lParam);
}
return 0;
}
А.А. Хусаинов, Н.Н. Михайлова ЧЕЛОВЕКО-МАШИННОЕ ВЗАИМОДЕЙСТВИЕ
|