Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
Другие темы раздела
C++ Как поместить в Picture bmp картинку с цветовой палитрой 32 бита. Подскажите начинающему. Как проще всего поместить в Picture bmp-картинку с цветовой палитрой 32 бита. Заранее благодарен https://www.cyberforum.ru/ cpp-beginners/ thread467834.html C++ Очистка IE coockies, IE cashe, IE address line history
Подскажите пожалуйста как программно осуществить сабж? Или хотя бы в каком направлении копать. Заранее благодарен.
C++ Как получить список пользователей на mail.ru? Как получить список пользователей на mail.ru https://www.cyberforum.ru/ cpp-beginners/ thread467788.html C++ Перекрытие операторов https://www.cyberforum.ru/ cpp-beginners/ thread467779.html
Help me! Help me please!!! :-) Есть такая конструкция: class MyClass{ ... long* fItems; //массив для хранения указателей на строки .... public:
C++ Передача строки в методе COM объекта
Имеется HRESULT q(BSTR *q1); STDMETHODIMP CSomeClass::q(BSTR q1) { *q1 = (BSTR)'Some string'; return S_OK; }Все компилится отлично В VB прицепляю этот COM и пытаюсь получить строку
C++ Киньте исходник проги на API на мэйл. Киньте исходник какой - нибудь проги на API под Windows... POPSA@MAIL.RU https://www.cyberforum.ru/ cpp-beginners/ thread467744.html
C++ Курсор внутри текстового редактора на WindowsApi https://www.cyberforum.ru/ cpp-beginners/ thread467741.html
Я тут в качестве тренинга взялся текстовый редактор с подсветкой писать что бы ключевые слова выделял. Вьюер уже написал. А теперь мне нужен курсор. Я конечно могу рисовать его сам но хочется что бы он ещё и моргал а для этого таймер надо к нему подключать. Может можно как то системными функциями им управлять. !Никаких MFC только Win32!
Дополнительный источник данных для провайдера OLE DB C++
Подскажите пожалуйста, как лучше организовать дополнительный источник данных в разрабатываемом поставщике данных OLE DB.
C++ Подскажите как программировать на API?? https://www.cyberforum.ru/ cpp-beginners/ thread467717.html
я не пойму одного....что, программировать на API - это значит писать программу от начала до конца программу?? П.С. я новичок и вопрос может казаться тупым и неграмотным, но подскажите плизз....
C++ Ошибка: Unhandled exception ...(Kernel32.dll). вImgScan.ocx Есть код: #import 'imgscan.ocx' no_namespace .... { ... _DImgScanPtr pIScan = NULL; HRESULT hr = pIScan.CreateInstance(__uuidof(ImgScan)); pIScan->AboutBox(); https://www.cyberforum.ru/ cpp-beginners/ thread467710.html
C++ Какой проект открыть для работы с файлом или БД?
Kakoi proect lychshe otkrut dlya rabotu s file i database. Nyshno chitat file a potom dannue sanosit v database.
C++ Активизация обработчика события нажатия кнопки Apply в окне класса COlePropertyPage Как активизировать обработчик события нажатия кнопки Apply в окне класса COlePropertyPage? https://www.cyberforum.ru/ cpp-beginners/ thread467648.html
Vita
10.06.2008, 10:31 0

Как изменить цвет окна приложения? - C++ - Ответ 2592388

10.06.2008, 10:31. Показов 6262. Ответов 4
Метки (Все метки)

Ответ

WM_SYSCOLORCHANGE сообщение посылается всем top-most окнам при изменении системной палитры цветов.
WM_CTLCOLOR сообщение посылается в функцию окна диалога при запросе цвета конкретного контрола на диалоге. Иногда и конкретные WM_CTLCOLORMSGBOX, WM_CTLCOLOREDIT, WM_CTLCOLORLISTBOX, WM_CTLCOLORBTN, WM_CTLCOLORDLG, WM_CTLCOLORSCROLLBAR, WM_CTLCOLORSTATIC и т.д.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
static HBRUSH WndDlgProcCTLCOLOR( HWND hwnd, HDC hdc, HWND hwndChild, int type )
{
    BOOL i;
    switch( type )
    {
 
    case CTLCOLOR_EDIT:
    case CTLCOLOR_LISTBOX:
 
        if( (i = IsWindowEnabled( hwndChild )) != 0 )
            SetTextColor( hdc, GetSysColor( COLOR_WINDOWTEXT ) );
        else
        {
            WORD vrsion;
            vrsion = LOWORD( GetVersion() );
            if( LOBYTE( vrsion ) >= 3 && HIBYTE( vrsion ) > 20 )
                SetTextColor( hdc, GetSysColor( COLOR_GRAYTEXT ) );
            else
                SetTextColor( hdc, GetSysColor( COLOR_BTNTEXT ) );
        }
        SetBkColor( hdc, GetSysColor( (i) ? COLOR_WINDOW : COLOR_BTNFACE ) );
        return (i) ? ci_brushWindow : ci_brushBackGround;
 
    case CTLCOLOR_BTN:
    case CTLCOLOR_STATIC:
    case CTLCOLOR_MSGBOX:
    case CTLCOLOR_DLG:
 
        if( IsWindowEnabled( hwndChild ) )
            SetTextColor( hdc, GetSysColor( COLOR_WINDOWTEXT ) );
        else
        {
            WORD vrsion;
            vrsion = LOWORD( GetVersion() );
            if( LOBYTE( vrsion ) >= 3 && HIBYTE( vrsion ) > 20 )
                SetTextColor( hdc, GetSysColor( COLOR_GRAYTEXT ) );
            else
                SetTextColor( hdc, GetSysColor( COLOR_BTNTEXT ) );
        }
        SetBkColor( hdc, GetSysColor( COLOR_BTNFACE ) );
        return ci_brushBackGround;
 
    }
 
    #if defined( __NT__ )
        return (HBRUSH) DefDlgProc( hwnd, GET_WM_CTLCOLOR_MSG(type), (WPARAM) hdc, (LPARAM) hwndChild );
 
    #else
 
        return (HBRUSH) DefDlgProc( hwnd, WM_CTLCOLOR, (WPARAM) hdc, MAKELPARAM(hwndChild, type) );
 
    #endif
 
}
static BOOL WndDlgProcCOLORCHANGE( HWND hwnd, BOOL reassign )
{
    if( ci_brushBackGround )
        DeleteObject( ci_brushBackGround );
    ci_brushBackGround = (reassign) ? CreateSolidBrush( GetSysColor( COLOR_BTNFACE ) ) : NULL;
 
    if( ci_brushWindow )
        DeleteObject( ci_brushWindow );
    ci_brushWindow = (reassign) ? CreateSolidBrush( GetSysColor( COLOR_WINDOW ) ) : NULL;
 
    return FALSE;
}
Которые вызываются при обработке сообщений в функции окна-диалога:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
        switch ( msg )
        {
 
        case WM_CREATE:         // ex2crea.ci
 
            WndDlgProcINITMENUPOPUP( hWnd, GetSystemMenu( hWnd, FALSE ), 0, TRUE );
            WndDlgProcCOLORCHANGE( hWnd, TRUE );
            break;
 
    #if defined( __NT__ )
 
        case WM_CTLCOLOREDIT: // ex2ctlc.ci
 
            stopit = TRUE;
            ret = (LRESULT) WndDlgProcCTLCOLOR(
                hWnd, (HDC) wParam, (HWND) lParam, CTLCOLOR_EDIT );
            break;
 
        case WM_CTLCOLORLISTBOX: // ex2ctlc.ci
 
            stopit = TRUE;
            ret = (LRESULT) WndDlgProcCTLCOLOR(
                hWnd, (HDC) wParam, (HWND) lParam, CTLCOLORLISTBOX );
            break;
 
        case WM_CTLCOLORBTN: // ex2ctlc.ci
 
            stopit = TRUE;
            ret = (LRESULT) WndDlgProcCTLCOLOR(
                hWnd, (HDC) wParam, (HWND) lParam, CTLCOLORBTN );
            break;


Вернуться к обсуждению:
Как изменить цвет окна приложения? C++
Заказать работу у эксперта
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
10.06.2008, 10:31
Готовые ответы и решения:

Как изменить цвет границы окна
Здравствуйте! Как в Visual Studio 2010 на С++ можно изменить цвет границы окна, которое создает...

По выбору пользователя изменить цвет консольного приложения
Уважаемые эксперты, просто пользователи и гости форума. Нужна Ваша помощь. Задание 1: Написать...

Какой функцией изменить цвет фона окна windows bgi?
это окошко черное и белая надпись Hello.Мне нужно сделать его синим.Есть ли такая функция.Если...

Как изменить цвет графического окна
Выполняю работу по графике в Паскале. Нужно нарисовать фигуры белого цвета, что совпадает с...

4
10.06.2008, 10:31
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
10.06.2008, 10:31
Помогаю со студенческими работами здесь

Как изменить цвет рамки окна?
Всем привет!!! Подскажите как изменить цвет рамки окна?

Как изменить цвет рамки окна?
Привет всем. У меня такой вопрос. 1) Как программно изменить цвет рамки окна? Чтобы нестандартная...

Как изменить цвет заголовка окна?
Хочу изменить цвет windows панели. Большая кастомизация не требуется и убирать рамку и делать свою...

Как изменить шрифт и цвет заголовка окна?
Помогите, пожалуйста, мне надо изменить цвет и шрифт заголовка окна. Это можна изменить вобще?

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru