Составители:
{
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
- …
- следующая ›
- последняя »