Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Ветеран


Сообщения: 3320
Благодарности: 916

Профиль | Отправить PM | Цитировать


pva, а есть ли подобные функции (шум в картинке) в классическом GDI? Что бы разобраться на функциональном уровне, а не сразу в объектном GDI+/Direct3D
У меня есть функциональное предложение по коду, в процессе поиска предлагаю "находить каналы", хотя бы на профилактике.

Код: Выделить весь код
void GeneratorTsvetnyhPolos_GDI(HDC *hDc, RECT *rectBar, int OffSet)
{    
    FillRect(*hDc, rectBar, CreateSolidBrush(RGB(255, 255, 255)));    //Как вариант Rectangle
    rectBar->left = rectBar->right;
    rectBar->right += OffSet;
    FillRect(*hDc, rectBar, CreateSolidBrush(RGB(196, 196, 0)));
    rectBar->left = rectBar->right;
    rectBar->right += OffSet;
    FillRect(*hDc, rectBar, CreateSolidBrush(RGB(0, 196, 196)));
    rectBar->left = rectBar->right;
    rectBar->right += OffSet;
    FillRect(*hDc, rectBar, CreateSolidBrush(RGB(0, 196, 0)));
    rectBar->left = rectBar->right;
    rectBar->right += OffSet;
    FillRect(*hDc, rectBar, CreateSolidBrush(RGB(196, 0, 196)));
    rectBar->left = rectBar->right;
    rectBar->right += OffSet;
    FillRect(*hDc, rectBar, CreateSolidBrush(RGB(196, 0, 0)));
    rectBar->left = rectBar->right;
    rectBar->right += OffSet;
    FillRect(*hDc, rectBar, CreateSolidBrush(RGB(0, 0, 196)));
    rectBar->left = rectBar->right;
    rectBar->right += OffSet;
    FillRect(*hDc, rectBar, CreateSolidBrush(RGB(0, 0, 0)));
}
//...
        case WM_PAINT:
        {
            RECT rect = {0};
            GetWindowRect(hWnd, &rect);
            rect.right = (rect.right - rect.left) / 8;
            rect.left = 0;
            rect.bottom = rect.bottom - rect.top;
            rect.top = 0;

            PAINTSTRUCT ps = {0};            
            HDC hDc = BeginPaint(hWnd, &ps);
            GeneratorTsvetnyhPolos_GDI(&hDc, &rect, rect.right);
            EndPaint(hWnd, &ps);
        }
        break;
Код правда с применением функций GDI, по причине озвученной выше.

Отправлено: 00:59, 26-11-2009 | #9