
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
13.07.2005, 17:56
|
|||
|---|---|---|---|
|
|||
системные цвета |
|||
|
#18+
как получить цвет системной палитры?(типа выделенной строки меню, фона окна и т.д.) VC++ 6.0 заранее спасибо за ответ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
14.07.2005, 12:38
|
|||
|---|---|---|---|
системные цвета |
|||
|
#18+
А вот у меня вопрос в развитие этой темы (VS.Net, C++ Win32 API, W2k) Пишу в процедуре диалога: (это я вычитал в Help для GetSysColor() и решил попробовать) int aiElements[1] = {COLOR_BTNTEXT}; DWORD aColors_Old[1]; DWORD aColors_New[1]; //при иниц-ции диалога меняю цвет для одного из "display element" case WM_INITDIALOG: aColors_Old[0] = GetSysColor(COLOR_BTNTEXT); //сохраняю старий цвет aColors_New[0] = RGB(0x80, 0x00, 0x80); // новий цвет dark purple SetSysColors(1, aiElements, aColors_New); //устанавливаю новый цвет тут все нормально, цвет новый //потом при закрытии диалога пробую вернуть сохраненный старий цвет SetSysColors(1, aiElements, aColors_Old); но не тут то было, для ВСЕХ "display element" (COLOR_BTNTEXT, COLOR_ACTIVECAPTION, ...) устанавливается не сохраненный а стандартный серый цвет Windows и востановить цвета получается только перезагрузкой Не подскажете в чем причина? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
14.07.2005, 13:25
|
|||
|---|---|---|---|
|
|||
системные цвета |
|||
|
#18+
Вообще, менять системные цвета для перерисовки одного из "display element" -- не самый лучший вариант. Либо сам контрол рисовать, либо хотя бы почитай про WM_CTLCOLOR. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
14.07.2005, 13:26
|
|||
|---|---|---|---|
|
|||
системные цвета |
|||
|
#18+
Remarks ( из MSDN-a ) The SetSysColors function sends a WM_SYSCOLORCHANGE message to all windows to inform them of the change in color. It also directs the system to repaint the affected portions of all currently visible windows. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
14.07.2005, 14:07
|
|||
|---|---|---|---|
системные цвета |
|||
|
#18+
SeraTJВообще, менять системные цвета для перерисовки одного из "display element" -- не самый лучший вариант. Либо сам контрол рисовать, либо хотя бы почитай про WM_CTLCOLOR. извините, я просто невнятно написал, что это я решил просто попробовать, наткнувшись на тему в форуме и вот получился такой результат а в своих проектах я как раз и пользуюсь WM_CTLCOLORBTN, WM_CTLCOLORSTATIC и т.д. так что вопрос получается чисто теоритический. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=57&mobile=1&tid=2033031]: |
0ms |
get settings: |
9ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
53ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
38ms |
get tp. blocked users: |
1ms |
| others: | 236ms |
| total: | 373ms |

| 0 / 0 |
