Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "WinAPI";
Текущий архив: 2005.06.14;
Скачать: [xml.tar.bz2];

Вниз

Как добавить свою кнопку в заголовке окна?   Найти похожие ветки 

 
FunkyByte ©   (2005-04-25 21:39) [0]

Доброго времени суток, уважаемые мастера. Как можно добавить кнопку в заголовке окна (помимо стандартных "Закрыть", "Свернуть", "Развернуть"/"Свернуть в окно") и разместить на ней простую пиктограмму (например, квадратик)? Заранее спасибо.


 
Piter ©   (2005-04-25 22:15) [1]

как-то очень хитро...

Хорошо такая кнопка реализована в eMule. Даже при изменении стиля Windows, она получается как надо...


 
Юрий Зотов ©   (2005-04-25 22:42) [2]

> FunkyByte ©   (25.04.05 21:39)

Несистемные кнопки в неклиентской области надо рисовать самому (GetWindowDC - и вперед). Задачка не особо сложная, но довольно хлопотная (придется ловить где-то около десятка сообщений). На Torry есть готовые компоненты (HelpButton, например), там можно посмотреть, как это делается.

Правда, ни одного неглючного компонента на эту тему я пока не видел (кроме своего, естественно... гы...). Глюк состоит в том, что изменение текста Caption не отлавливается и в результате кнопка затирается.


 
GuAV ©   (2005-04-25 23:12) [3]

Юрий Зотов ©   (25.04.05 22:42) [2]

> Правда, ни одного неглючного компонента на эту тему я
> пока не видел (кроме своего, естественно... гы...).
> Глюк состоит в том, что изменение текста Caption не
> отлавливается и в результате кнопка затирается.

При смене заголовка WM_NCPAINT не посылается ?


 
Eraser ©   (2005-04-25 23:16) [4]

FunkyByte ©

В составе JEDI VCL есть неплохой компонент + пример работы.


 
Германн ©   (2005-04-26 01:53) [5]

2 GuAV ©   (25.04.05 23:12) [3]
Не знаю, что ответит ЮЗ, да и ответит ли вообще. Но подобное наблюдал ранее, когда увлекался "красивностями" типа WindowsBlind или чем-то подобным.
Вышеупомянутые позволяли добавлять и новые кнопки и новые окна в заголовок (например окно с выводом даты/времени). Но заголовок основного окна их затирал.


 
mgcr ©   (2005-04-26 10:39) [6]

GuAV ©   (25.04.05 23:12) [3]


> При смене заголовка WM_NCPAINT не посылается ?


А ты проверь. Посылается WM_SETTEXT. Дело в том, что Windows довольно хитро работает с неклиентской областью окна, и перерисовка ее происходит не только в момент обработки сообщения WM_NCPAINT, но и в момент обработки других сообщений (например, WM_SYSCOMMAND, WM_NCMOUSExxxx)



Страницы: 1 вся ветка

Форум: "WinAPI";
Текущий архив: 2005.06.14;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.049 c
3-1115383404
Kirill
2005-05-06 16:43
2005.06.14
Halcyon и работа с индексом CDX


4-1114333737
Nafania
2005-04-24 13:08
2005.06.14
Список программ, которые запускались с компьютера


4-1114382085
Кайфолом
2005-04-25 02:34
2005.06.14
Как обработать системные сообщения Формы ?


14-1117086751
leonidus
2005-05-26 09:52
2005.06.14
Посоветуйте бесплатный компонентик для обновления программы


3-1115369119
DelphiN!
2005-05-06 12:45
2005.06.14
Создание в FastReport отчета по таблице неизвесной структуры





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский