Составители:
/*INITIALIZE APP - регистрация двух классов и создание окон. */
BOOL InitializeApp ( void )
{
…
// Пометить исходное состояние каждого потока как SUSPENDED
// сразу при их создании.
for( iCount = 0; iCount < 4; iCount++ )
{
iState[iCount] = SUSPENDED;
}
// Задать первичному потоку более высокий приоритет,
// что позволит ускорить ввод/вывод команд пользователем.
SetThreadPriority( GetCurrentThread(),
THREAD_PRIORITY_ABOVE_NORMAL );
// Создать все окна.
return( CreateWindows( ) );
}
Вызов функции SetThreadPriority приводит к увеличению приоритета
первичного потока. Если все вторичные потоки будут иметь такой же
приоритет, как и первичный, то реакция на выбор команд меню будет очень
медленной. Убедиться в этом, запустив программу и повысив приоритет
вторичных потоков.
Функция CreateWindow создает не только основное окно, но и список, а
также набор дочерних окон для потоков.
/* CREATE WINDOWS - создать главное окно, окно списка и четыре дочерних
окна */
BOOL CreateWindows ( void )
{
char szAppName[MAX_BUFFER] ;
char szTitle[MAX_BUFFER] ;
char szThread[MAX_BUFFER];
HMENU hMenu;
int iCount;
// загрузка соответствующих строк
LoadString( hInst, IDS_APPNAME, szAppName, sizeof(szAppName));
LoadString( hInst, IDS_TITLE, szTitle, sizeof(szTitle));
LoadString( hInst, IDS_THREAD, szThread, sizeof(szThread));
// создать родительское окно
hMenu = LoadMenu( hInst, MAKEINTRESOURCE(MENU_MAIN) );
hwndParent = CreateWindow( szAppName, szTitle,
WS_OVERLAPPEDWINDOW |
WS_CLIPCHILDREN,
CW_USEDEFAULT, CW_USEDEFAULT,
6
/*INITIALIZE APP - регистрация двух классов и создание окон. */
BOOL InitializeApp ( void )
{
…
// Пометить исходное состояние каждого потока как SUSPENDED
// сразу при их создании.
for( iCount = 0; iCount < 4; iCount++ )
{
iState[iCount] = SUSPENDED;
}
// Задать первичному потоку более высокий приоритет,
// что позволит ускорить ввод/вывод команд пользователем.
SetThreadPriority( GetCurrentThread(),
THREAD_PRIORITY_ABOVE_NORMAL );
// Создать все окна.
return( CreateWindows( ) );
}
Вызов функции SetThreadPriority приводит к увеличению приоритета
первичного потока. Если все вторичные потоки будут иметь такой же
приоритет, как и первичный, то реакция на выбор команд меню будет очень
медленной. Убедиться в этом, запустив программу и повысив приоритет
вторичных потоков.
Функция CreateWindow создает не только основное окно, но и список, а
также набор дочерних окон для потоков.
/* CREATE WINDOWS - создать главное окно, окно списка и четыре дочерних
окна */
BOOL CreateWindows ( void )
{
char szAppName[MAX_BUFFER] ;
char szTitle[MAX_BUFFER] ;
char szThread[MAX_BUFFER];
HMENU hMenu;
int iCount;
// загрузка соответствующих строк
LoadString( hInst, IDS_APPNAME, szAppName, sizeof(szAppName));
LoadString( hInst, IDS_TITLE, szTitle, sizeof(szTitle));
LoadString( hInst, IDS_THREAD, szThread, sizeof(szThread));
// создать родительское окно
hMenu = LoadMenu( hInst, MAKEINTRESOURCE(MENU_MAIN) );
hwndParent = CreateWindow( szAppName, szTitle,
WS_OVERLAPPEDWINDOW |
WS_CLIPCHILDREN,
CW_USEDEFAULT, CW_USEDEFAULT,
6
Страницы
- « первая
- ‹ предыдущая
- …
- 4
- 5
- 6
- 7
- 8
- …
- следующая ›
- последняя »
