Составители:
{
HANDLE_MSG( hWnd, WM_CREATE, Main_OnCreate );
// Создание окна и потоков
HANDLE_MSG( hWnd, WM_SIZE, Main_OnSize );
// Согласование положения дочерних окон при изменении размеров
// главного окна
HANDLE_MSG( hWnd, WM_TIMER, Main_OnTimer ) ;
// Обновление списка через каждые пять секунд
HANDLE_MSG( hWnd, WM_INITMENU, Main_OnInitMenu ) ;
// Если переменная bUseMutex равна TRUE, пометить пункт меню
// Use Mutex.
HANDLE_MSG( hWnd, WM_COMMAND, Main_OnCommand );
// Обработка команд меню
HANDLE_MSG( hWnd, WM_DESTROY, Main_OnDestroy );
// Очистка экрана и выход из программы
default:
return( DefWindowProc(hWnd, uMessage, wParam, lParam) );
}
return( 0L ) ;
}
В программе Threads используется макрокоманда обработки сообщений
HANDLE_MSG,
поэтому компилятор может выдать ряд предупреждений типа
"Unreferenced formal parameter" (Неопознанный формальный параметр). Во
избежание этого в программу следует включить директиву argsused:
#ifdef _BORLANDC_
#pragma argsused
#endif
Функция Main_OnCreate завершает процесс инициализации потоков и
создает исключающий семафор:
/* MAIN_ONCREATE - создать четыре потока и установить таймер */
BOOL Main_OnCreate( HWND hWnd, LPCREATESTRUCT lpCreateStruct )
{
UINT uRet;
int iCount;
// создание четырех потоков, приостановленных в исходном состоянии
for( iCount = 0; iCount < 4; iCount++ )
{
iRectCount[iCount] = 0;
dwThreadData[iCount] = iCount;
hThread[iCount] = CreateThread( NULL, 0,
8
{
HANDLE_MSG( hWnd, WM_CREATE, Main_OnCreate );
// Создание окна и потоков
HANDLE_MSG( hWnd, WM_SIZE, Main_OnSize );
// Согласование положения дочерних окон при изменении размеров
// главного окна
HANDLE_MSG( hWnd, WM_TIMER, Main_OnTimer ) ;
// Обновление списка через каждые пять секунд
HANDLE_MSG( hWnd, WM_INITMENU, Main_OnInitMenu ) ;
// Если переменная bUseMutex равна TRUE, пометить пункт меню
// Use Mutex.
HANDLE_MSG( hWnd, WM_COMMAND, Main_OnCommand );
// Обработка команд меню
HANDLE_MSG( hWnd, WM_DESTROY, Main_OnDestroy );
// Очистка экрана и выход из программы
default:
return( DefWindowProc(hWnd, uMessage, wParam, lParam) );
}
return( 0L ) ;
}
В программе Threads используется макрокоманда обработки сообщений
HANDLE_MSG, поэтому компилятор может выдать ряд предупреждений типа
"Unreferenced formal parameter" (Неопознанный формальный параметр). Во
избежание этого в программу следует включить директиву argsused:
#ifdef _BORLANDC_
#pragma argsused
#endif
Функция Main_OnCreate завершает процесс инициализации потоков и
создает исключающий семафор:
/* MAIN_ONCREATE - создать четыре потока и установить таймер */
BOOL Main_OnCreate( HWND hWnd, LPCREATESTRUCT lpCreateStruct )
{
UINT uRet;
int iCount;
// создание четырех потоков, приостановленных в исходном состоянии
for( iCount = 0; iCount < 4; iCount++ )
{
iRectCount[iCount] = 0;
dwThreadData[iCount] = iCount;
hThread[iCount] = CreateThread( NULL, 0,
8
Страницы
- « первая
- ‹ предыдущая
- …
- 6
- 7
- 8
- 9
- 10
- …
- следующая ›
- последняя »
