Консультация № 96054
23.07.2007, 11:40
0.00 руб.
0 2 1
Доброе время суток, уважаемые эксперты. Подскажите вот что. Вверху окно залито по градиенту от более тёмного синего к светлому синему даже голубому. Так вот, какой функцией можно изменить цвет заголовка окна и изменить градиент. Приведите пожалуйста пример.

Обсуждение

давно
Старший Модератор
31795
6196
23.07.2007, 15:49
общий
это ответ
Здравствуйте, Александр Михайлович!

Посмотрите эти функции: <a href=http://vsokovikov.narod.ru/New_MSDN_API/Sys_info/fn_setsyscolors.htm>SetSysColors</a> и <a href=http://vsokovikov.narod.ru/New_MSDN_API/Sys_info/fn_getsyscolor.htm>GetSysColor</a>, с параметром <b>COLOR_ACTIVECAPTION</b> Область заголовка активного окна.
Выбранный параметр устанавливается для всех окон. Если сменится активное окно, то другое окно будет иметь установленные Вами параметры.
В приложении пример для ТАСМ.
Удачи!

Приложение:
.386.model flatincludelib ..\Tasm\TASM5\LIB\imp32i.libextrn ExitProcess:nearextrn MessageBoxA:nearextrn SetSysColors:near.dataCOLOR_ACTIVECAPTION = 2lpCap db ‘my Caption‘,0;заголовокlpTxt1 db ‘my old color‘,0;сообщение старій цветlpTxt2 db ‘my new color‘,0;сообщение новій цветlpVal dd COLOR_ACTIVECAPTION;цвет заголовка активного окнаValNum equ 1;меняем 1 элементlpRGB dd 055000h,0,0;цвет.codestart:;выводим сообщение со старым цветом заголовка push dword ptr 0 push offset lpCap push offset lpTxt1 push dword ptr 0 call MessageBoxA;меняем цвет push offset lpRGB push offset lpVal push dword ptr ValNum call SetSysColors;выводим сообщение с новым цветом заголовка push dword ptr 0 push offset lpCap push offset lpTxt2 push dword ptr 0 call MessageBoxA;выход push dword ptr 0 call ExitProcessend start
Об авторе:
Мне безразлично, что Вы думаете о обо мне, но я рад за Вас - Вы начали думать.

давно
Старший Модератор
31795
6196
23.07.2007, 15:54
общий
для МАСМ Вам нужно подключать вместо <b>imp32i.lib</b> библиотеки <b>USER32.LIB</b> и <b>KERNEL32.LIB</b>Удачи!
Об авторе:
Мне безразлично, что Вы думаете о обо мне, но я рад за Вас - Вы начали думать.

Форма ответа