| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: WinAPI и системное программирование > Изменение заголовка окон. |
| Автор: Fenix 12.7.2006, 18:34 |
| Доброго времени суток. Меня интересует возможно ли ислользуя Api изменить заголовок окон (точнее даже модальных окон) программы. Тоесть изменить цвет, размер, рисунки кнопок и тд. Для определенного окна. Я читал, что вроде через WinApi это можно реализовать. Если кто знает как это сделать прошу помочь. Заранее благодарен. |
| Автор: Wing 12.7.2006, 20:47 |
| Что-то я не помню что-бы через API можно было как-нибудь менять цвет кнопочек в заголовке. А вот текст в заголовке можно - см. SetWindowText. |
| Автор: Fenix 12.7.2006, 20:59 |
| Хм... тогда подскажите как это можно сделать. Просто ставить bsNone и самому прописывать заголовок как то нехочеться, да и лишняя загрузка системы тоже будет не к месту |
| Автор: Fenix 12.7.2006, 21:16 | ||
Вот именно это мне и надо. Я конечно могу сделать это через канву, но думаю это не оптимальный выход. Объясни или дай ссылки, где можно почитать про создание своих заголовков. А то сейчас это мне очень нужно, и не могу двигаться дальше пока не решу эту проблему... |
| Автор: Alexeis 13.7.2006, 10:32 | ||
Fenix,
Я для себя решал просто! Кинул TImage в него png-шку (у меня еще TpngImage был) установил прилипание к верху (align-> altop), правда zoom пришлось отменить (но приложение было скиновое так что выхода не было). И все, image, сам себя прекрасно перерисовывает, когда нужно, быстро и надежно! |
| Автор: Fenix 13.7.2006, 12:42 |
| Я примерно так и делал... ток я через DelphiX делал.... И потом просто обработать нажатия мыши в определенном месте (где кнопки свернуть, закрыть). Но я думаю, это не оптимальный вариант |
| Автор: Alexeis 13.7.2006, 14:59 |
А в чем неоптимальность? |
| Автор: Fenix 13.7.2006, 16:10 |
| Да хотябы в том что пспользуеться VCL, и не заменяеться заголовок, а создаеться новый, прописываються новые обработчики событий.... |
| Автор: Alexeis 13.7.2006, 16:23 |
как незаменяется когда он удаляется целиком, а значит что просто системные обработчики заменяются своими - это не такая потеря, кроме того можно воспользоватья обработчиком WM_PAINT и рисовать в нем при помощи api Функции PatBlt, тогда вообще не будет потери в скорости. |
| Автор: Mr.Floppy 27.7.2006, 15:37 | ||||
Разве что менять палитру
Но, она поменяет цвет во всех приложениях |