Форум программистов, компьютерный форум, киберфорум
Наши страницы

Какое сообщение надо обработать для отрисовки фона TabCtrl? - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Как опустошить файл, не пересоздавая его? http://www.cyberforum.ru/cpp-beginners/thread497874.html
Файл окрывается к с помощью функции Open() класса CStdioFile. В файле есть какие-то данные. Нужно не пересоздавая файл стереть все данные или какую-то его часть. Для того чтобы стереть весь файл...
C++ Как установить приоритет сервису Проблема в следующем:Я имею машину с двумя адресами...моя программа так же как и IIS сидит на 80 порту только на другом адресе...при перезагрузке машины мой сервис стартует раньше iis и по этому iis... http://www.cyberforum.ru/cpp-beginners/thread497869.html
C++ Построить алгоритм поиска кратчайшего пути между двумя вершинами в графе
Блин я уже так задолбался с этим заданием может кто нибудь поможет: Построить алгоритм поиска кратчайшего пути между двумя вершинами в графе. Связывать можно только четные с нечетными...
Почему исчезают вкладки при нажатии на Esc? C++
Здравствуйте! Создаю вкладки с использованием Tab Control'а в VC6. Все нормально, но вот только при нажатии на Esc (или Enter) исчезает полностью вкладка (ее внутренность). Но при переходе из...
C++ Как корректно удалить шаблонный класс CList? http://www.cyberforum.ru/cpp-beginners/thread497823.html
Создаю указатель на класс CList в заголовочном файле. С помощью этого указателя динамически создаю нужное количество (N) объектов класса CList.Но при удалении объектов класса CList в деструкторе при...
C++ Интеграл от функции вида f(x) sin(x) Подскажите как решить в С++ интеграл от функции вида f(x)sin(x). Может существуют модули или компоненты для решения интегралов. А может вообще кто-то уже писал проги!!! Заране благодарю за помощь!!! подробнее

Показать сообщение отдельно
PavelT100
0 / 0 / 0
Регистрация: 21.10.2008
Сообщений: 62
17.08.2011, 09:58  [ТС]
Вот что я сделал:
создал TabCtrl со стилями WS_VISIBLE|TCS_SINGLELINE|0x0040|TCS_FOCUSNEVER|TCS_OWNERDRAWFIXED и идентификатором idsOng1

В функции родительского MDI окна (контрол у меня находтится в MDI окне) обрабатываю сообщение WM_DRAWITEM:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
    case WM_DRAWITEM:
        if(msg.wParam == idsOng1)
        {
        TMDIChild::Go(msg); // это наши заморочки - это значит что выполняется стандартный обработчик
         LPDRAWITEMSTRUCT lpDrawItem = (LPDRAWITEMSTRUCT) msg.lParam;
        RECT rect = lpDrawItem->rcItem;
        rect.top += ::GetSystemMetrics(SM_CYEDGE);
 
            SetBkMode(lpDrawItem->hDC, TRANSPARENT);
            FillRect(lpDrawItem->hDC, &rect, gD.Brush(clrWindow)); //вот это выполняется и закрашивает 
//нужным цветом, но к сожалению только закладку, а не все поле таба где расположены конторлы
 
        SetBkColor(lpDrawItem->hDC, ini.rgb(clrWindow)); //а вот это не вполняется даже при отмене предыдущей функции, а вот почему ?
        return;
        }
Что я делаю не правильно ? Почему не работает SetBkColor и как заставить изменять цвет фона для всего таба, а не только для закладки ?
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.