Операционные системы. Марапулец Ю.В. - 16 стр.

UptoLike

Составители: 

return;
}
// получить контекст устройства для рисования
hDC = GetDC( hwndCbild[dwID] );
if( hDC )
{ // нарисовать группу случайно расположенных фигур
for( iCount = 0; iCount < iTotal; iCount++ )
{
iRectCount[dwID]++;
// задать координаты
xStart = (int)( rand() % cxClient );
xStop = (int)( rand() % cxClient );
yStart = (int) ( rand() % cyClient );
yStop = (int)( rand() % cyClient );
// задать цвет
iRed = rand() & 255;
iGreen = rand() &, 255;
iBlue = rand() & 255;
// создать сплошную кисть
hBrush = CreateSolidBrush( // предотвратить появление
// полутоновых цветов
GetNearestColor( hDC, RGB( iRed, iGreen, iBIue ) )
);
hbrOld = SelectBrush( hDC, hBrush);
// нарисовать прямоугольник
Rectangle( hDC, min( xStart, xStop ), max ( xStart, xStop ),
min( yStart, yStop ), max( yStart, yStop ) );
// удалить кисть
DeleteBrush( SelectBrush(hDC, hbrOld) );
}
// Если выполняется только один поток,
// очистить дочернее окно до начала выполнения
// другого потока
.
if( bUseMutex )
{
SelectBrush( hDC, GetStockBrush(WHITE_BRUSH) );
PatBlt( hDC, (int)rcClient.left, (int)rcClient.top,
(int)rcClient.right, (int)rcClient.bottom, PATCOPY ) ;
}
// освободить контекст устройства
ReleaseDC( hwndChild[dwID], hDC );
}
return;
}
16
          return;
    }
                         // получить контекст устройства для рисования
    hDC = GetDC( hwndCbild[dwID] );
    if( hDC )
    {                  // нарисовать группу случайно расположенных фигур
    for( iCount = 0; iCount < iTotal; iCount++ )
    {
           iRectCount[dwID]++;
                  // задать координаты
           xStart = (int)( rand() % cxClient );
           xStop = (int)( rand() % cxClient );
           yStart = (int) ( rand() % cyClient );
           yStop = (int)( rand() % cyClient );
                                // задать цвет
           iRed = rand() & 255;
           iGreen = rand() &, 255;
           iBlue = rand() & 255;
                                // создать сплошную кисть
           hBrush = CreateSolidBrush(                // предотвратить появление
                                                     // полутоновых цветов
                                GetNearestColor( hDC, RGB( iRed, iGreen, iBIue ) )
                         );
           hbrOld = SelectBrush( hDC, hBrush);
                                // нарисовать прямоугольник
           Rectangle( hDC, min( xStart, xStop ), max ( xStart, xStop ),
                         min( yStart, yStop ), max( yStart, yStop ) );
                                // удалить кисть
           DeleteBrush( SelectBrush(hDC, hbrOld) );
    }
                  // Если выполняется только один поток,
                  // очистить дочернее окно до начала выполнения
                  // другого потока.
    if( bUseMutex )
    {
           SelectBrush( hDC, GetStockBrush(WHITE_BRUSH) );
           PatBlt( hDC, (int)rcClient.left, (int)rcClient.top,
                         (int)rcClient.right, (int)rcClient.bottom, PATCOPY ) ;
    }
                  // освободить контекст устройства
    ReleaseDC( hwndChild[dwID], hDC );
    }
    return;
}

                                       16