progs.biz  
Начало>WinAPI>API>Урок 27
C#
VB.NET
Visual C++.NET
ASP.NET
Visual C++ 6
WinAPI
C/C++
Delphi
C++ Builder
Java
SQL
PHP
DirectX
Visual Basic 6.0
Ассемблер
Интернет
Сист. прогр-ние
Pocket PC
Обзор книг
Обзор программ

Бьерн Страуструп. Язык программирования С++. Специальное издание
Бьерн Страуструп. Язык программирования С++. Специальное издание
Заказать на Озоне



Яндекс-цитирования

Windows API
Урок 27. Использование кистей

Кисти служат для закрашивания некоторых замкнутых областей. Например, эллипсов или прямоугольников или еще чего-нибудь в таком же роде.

Схема использования кистей такая: сначала мы объвляем переменную для хранения нашей кисти (это будет переменная типа HBRUSH), потом мы кисть создаем (функцией CreateSolidBrush), потом присываем кисть к контексту устройства (путем вызова функции SelectObject). Затем мы этой кистью что-то рисуем. И, наконец, созданную кисть надо уничтожить (путем вызова функции DeleteObject).

А вот как это будет выглядеть в нашем коде (заготовку для которого можно взять, например, с прошлых уроков):

LONG WINAPI WndProc(HWND hWnd, UINT Message, WPARAM wParam, LPARAM lParam)
{
    ...
    // Объявляем переменную для кисти.
    HBRUSH br;
    ...
    switch (Message){
    ...
    case WM_PAINT:
        hdc = BeginPaint(hWnd, &ps);
        // Создаем красную кисть.
        br = CreateSolidBrush(RGB(255, 0, 0));
        // Приписываем кисть к контексту устройства.
        SelectObject(hdc, br);
        // Рисуем что-нибудь кистью.
        Ellipse(hdc, 10, 10, 40, 40);
        // Уничтожаем кисть.
        DeleteObject(br);
        EndPaint(hWnd, &ps);
        break;

Результат работы программы будет приблизительно таким:

Использование кисти
Рассылки нашего сайта на Subscribe.Ru
Visual C++, MFC
C# и .NET
VB.NET
ASP.NET new!
Win API
C/C++
Delphi
Java
HTML, PHP, mySQL, WEB-дизайн
Flash MX
C++ Builder
Ассемблер
SQL Server
DirectX
Обзор книг
Обзор программ
Новости сайта progs.biz


 
 
Копирование любых материалов сайта без разрешения авторов и владельцев сайта запрещено.
© 2002-2008 сайт progs.biz
© 2002-2008 Игорь Алексеев