Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Изменить вид системных кнопок (Maximize, Minimize...) [D6, D7, Win2k]


debater ©   (2004-05-14 20:24:00) 

Подскажите, пожалуйста, как можно изменить вид системных кнопок, то есть чтобы там рисунок другой был.


GuAV   (2004-05-15 00:43:00) [1]


> А как рисовать их нажатое/ненажатое состояние ?


Пардон, ошибся.


Игорь Шевченко   (2004-05-15 00:03:00) [2]

GuAV   (14.05.04 23:34)


> IMHO, без WM_NCxBUTTONxxxx можно обойтись.


А как рисовать их нажатое/ненажатое состояние ?


GuAV   (2004-05-14 23:34:00) [3]

>WM_NCPAINT, WM_NCACTIVATE, WM_NCxBUTTONxxxx, WM_NCHITTEST надо обрабатывать.

IMHO, без WM_NCxBUTTONxxxx можно обойтись.
Без WM_NCHITTEST тоже, если уверен, что положение/размер твоих и родных совпадают. Но все равно это трудоемко


GuAV   (2004-05-14 23:10:00) [4]


>как убирается заголовок окна?

...а страрый убрать (стили окна)... - точнее, стиль WS_CAPTION

>не понимаю как образом возникает необходимость в обработке сообщений?


А как рисовать, не обрабатывая сообщений ???


Игорь Шевченко   (2004-05-14 23:02:00) [5]


> Я хотел всего лишь узнать можно ли как-то заменить используемые
> для стандартных кнопок изображения на другие.


Стандартные изображения рисует система, обрабатывая эти сообщения. Заменить их в системе нельзя. Значит, надо рисовать кнопки самому, обрабатывая эти сообщения. Это гораздо более трудоемко, чем способ, предложенный в [1]


debater   (2004-05-14 22:51:00) [6]

>WM_NCPAINT, WM_NCACTIVATE, WM_NCxBUTTONxxxx, WM_NCHITTEST надо обрабатывать.

Я хотел всего лишь узнать можно ли как-то заменить используемые для стандартных кнопок изображения на другие. Если можно, то я не понимаю как образом возникает необходимость в обработке сообщений. Если нельзя, то как убирается заголовок окна?


Игорь Шевченко   (2004-05-14 22:37:00) [7]

...А сами кнопки удачно рисуются функцией DrawFrameControl (стандартные)


Игорь Шевченко   (2004-05-14 22:36:00) [8]


> а проше нельзя? например, как-нибудь перерисовать стандартные


WM_NCPAINT, WM_NCACTIVATE, WM_NCxBUTTONxxxx, WM_NCHITTEST надо обрабатывать.

Тебе это кажется проще ?

в [1] дали очень неплохой совет, к тому же свой заголовок неплохо выводится функцией DrawCaption


debater   (2004-05-14 22:23:00) [9]

а проше нельзя? например, как-нибудь перерисовать стандартные


GuAV   (2004-05-14 21:31:00) [10]

Убери стандартные и рисуй свои.
Рисовать в заголовке можно, но затруднительно,
проще нарисовать новый заголовок целиком, а страрый убрать
(стили окна).
Признак кнопок (Maximize, Minimize...) -
своеобразная реакция на WM_NCHITTEST, которую
прийдеться организовать для своих кнопок.


Наверх

Титульная страница Поиск, карта сайта Написать письмо