![]() |
|
Модераторы: Snowy, bartram, MetalFan, bems, Poseidon, Riply |
![]()
|
|
| Fenix |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 21 Регистрация: 10.7.2006 Репутация: нет Всего: нет |
Доброго времени суток.
Меня интересует возможно ли ислользуя Api изменить заголовок окон (точнее даже модальных окон) программы. Тоесть изменить цвет, размер, рисунки кнопок и тд. Для определенного окна. Я читал, что вроде через WinApi это можно реализовать. Если кто знает как это сделать прошу помочь. Заранее благодарен. |
|||
|
||||
| Wing |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 39 Регистрация: 19.3.2006 Репутация: нет Всего: нет |
Что-то я не помню что-бы через API можно было как-нибудь менять цвет кнопочек в заголовке. А вот текст в заголовке можно - см. SetWindowText.
|
|||
|
||||
| Fenix |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 21 Регистрация: 10.7.2006 Репутация: нет Всего: нет |
Хм... тогда подскажите как это можно сделать. Просто ставить bsNone и самому прописывать заголовок как то нехочеться, да и лишняя загрузка системы тоже будет не к месту
|
|||
|
||||
| Alexeis |
|
|||
![]() Амеба Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 16 Всего: 459 |
Текст в заголовке легко меняется и без api form1.caption А заголовок можно вообще удалить и свой нарисовать и заодно кнопки на свой вкус, правда к api это уже не имеет отношения. С помощью Api можно удалять кнопки из заголовка. Можно еще поменять иконку слева на панели. Можно с помощью api рисовать что-то свое на этой панели, перехватывая сообщение неклиентской областию Добавлено @ 21:06 Так что конкретно не получается? Цвет заголовка можно менять только у всех окон одновременно. -------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
| Fenix |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 21 Регистрация: 10.7.2006 Репутация: нет Всего: нет |
Вот именно это мне и надо. Я конечно могу сделать это через канву, но думаю это не оптимальный выход. Объясни или дай ссылки, где можно почитать про создание своих заголовков. А то сейчас это мне очень нужно, и не могу двигаться дальше пока не решу эту проблему... |
|||
|
||||
| Alexeis |
|
|||
![]() Амеба Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 16 Всего: 459 |
Fenix,
Я для себя решал просто! Кинул TImage в него png-шку (у меня еще TpngImage был) установил прилипание к верху (align-> altop), правда zoom пришлось отменить (но приложение было скиновое так что выхода не было). И все, image, сам себя прекрасно перерисовывает, когда нужно, быстро и надежно! Это сообщение отредактировал(а) alexeis1 - 13.7.2006, 10:35 -------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
| Fenix |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 21 Регистрация: 10.7.2006 Репутация: нет Всего: нет |
Я примерно так и делал... ток я через DelphiX делал.... И потом просто обработать нажатия мыши в определенном месте (где кнопки свернуть, закрыть). Но я думаю, это не оптимальный вариант
|
|||
|
||||
| Alexeis |
|
|||
![]() Амеба Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 16 Всего: 459 |
-------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
| Fenix |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 21 Регистрация: 10.7.2006 Репутация: нет Всего: нет |
Да хотябы в том что пспользуеться VCL, и не заменяеться заголовок, а создаеться новый, прописываються новые обработчики событий....
|
|||
|
||||
| Alexeis |
|
|||
![]() Амеба Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 16 Всего: 459 |
как незаменяется когда он удаляется целиком, а значит что просто системные обработчики заменяются своими - это не такая потеря, кроме того можно воспользоватья обработчиком WM_PAINT и рисовать в нем при помощи api Функции PatBlt, тогда вообще не будет потери в скорости. -------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
| Mr.Floppy |
|
||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 106 Регистрация: 3.7.2006 Где: Москва Репутация: нет Всего: 1 |
Разве что менять палитру
Но, она поменяет цвет во всех приложениях |
||||
|
|||||
![]()
|
| Правила форума "Delphi: WinAPI и системное программирование" | |
|
|
Запрещено: 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, bartram, MetalFan, bems, Poseidon, Rrader, Riply. |
| 1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: WinAPI и системное программирование | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |