|
|
|
системные цвета
|
|||
|---|---|---|---|
|
#18+
как получить цвет системной палитры?(типа выделенной строки меню, фона окна и т.д.) VC++ 6.0 заранее спасибо за ответ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.07.2005, 17:56 |
|
||
|
системные цвета
|
|||
|---|---|---|---|
|
#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, 12:38 |
|
||
|
системные цвета
|
|||
|---|---|---|---|
|
#18+
Вообще, менять системные цвета для перерисовки одного из "display element" -- не самый лучший вариант. Либо сам контрол рисовать, либо хотя бы почитай про WM_CTLCOLOR. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.07.2005, 13:25 |
|
||
|
системные цвета
|
|||
|---|---|---|---|
|
#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, 13:26 |
|
||
|
системные цвета
|
|||
|---|---|---|---|
|
#18+
SeraTJВообще, менять системные цвета для перерисовки одного из "display element" -- не самый лучший вариант. Либо сам контрол рисовать, либо хотя бы почитай про WM_CTLCOLOR. извините, я просто невнятно написал, что это я решил просто попробовать, наткнувшись на тему в форуме и вот получился такой результат а в своих проектах я как раз и пользуюсь WM_CTLCOLORBTN, WM_CTLCOLORSTATIC и т.д. так что вопрос получается чисто теоритический. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.07.2005, 14:07 |
|
||
|
|

start [/forum/topic.php?fid=57&msg=33164437&tid=2033031]: |
0ms |
get settings: |
6ms |
get forum list: |
13ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
48ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
45ms |
get tp. blocked users: |
1ms |
| others: | 240ms |
| total: | 368ms |

| 0 / 0 |
