Немодальные панели уведомлений? - PullRequest
0 голосов
/ 10 июня 2009

Как я могу реализовать немодальную скользящую панель уведомлений, такую ​​как использование Firefox, Beyond Compare и VMware Workstation 6.5, в клиентских приложениях Windows?

На данный момент подойдет любой язык или структура; мое текущее приложение в Delphi / C ++ Builder, но я также заинтересован в сравнении каркасов и создании прототипов некоторых пользовательских интерфейсов.

Смежный вопрос: Этот вопрос спрашивает об этом в Java.

Ответы [ 2 ]

1 голос
/ 13 июня 2009

Панель уведомлений Beyond Compare не скользит, она просто открывается, поэтому я не могу предложить какую-либо помощь по этому вопросу. Сама панель уведомлений - это просто TPanel с TImage и TLabel для изображения / текста. Он размещается в главном окне во время разработки и устанавливается для выравнивания по дну. Обычно он скрыт, и когда появляется сообщение для отображения, мы устанавливаем для свойства Visible значение true.

Существуют разные способы скрытия уведомления в зависимости от того, как вы хотите, чтобы оно работало. В BC мы устанавливаем хуки клавиатуры и мыши (SetWindowsHookEx с WH_KEYBOARD или WH_MOUSE) и скрываем их при событиях нажатия клавиш и мыши. В качестве альтернативы, как сказал Марк, вы можете скрыть его после задержки, добавить кнопку закрытия в сторону или просто посмотреть на определенные события в своем приложении и затем вручную скрыть это.

0 голосов
/ 10 июня 2009

В Delphi я считаю, что вы можете изменить свойство в самом диалоге (измените тип окна на «Диалог» и выберите стандартную оконную альтернативу). Извините, я не могу быть более конкретным, прошло около двух лет с тех пор, как я последний раз работал над приложением Delphi.

...