| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Общие вопросы > Перетаскивание панели за пределы формы |
| Автор: TP@MB@Y 10.5.2006, 23:35 | ||
| В своей программ я реализовал панель, которую таскаю мышкой куда захочу... Но только в пределах формы. Но было бы просто замечательно, если бы сделать возможным перетаскивать панельку за пределы формы, т.е. в любую точку экрана(это сэкономит мне много рабочего места в интерфейсе) Вот как я реализовываю перетаскивание:
|
| Автор: Rouse_ 10.5.2006, 23:42 |
| Говори что ты на заголовке, и будешь таскать куда хочешь... |
| Автор: TP@MB@Y 11.5.2006, 00:18 |
| Rouse_, поясни пожалуста |
| Автор: Poseidon 11.5.2006, 02:18 | ||
Это TPanel что-ли? Если так, то почему бы просто не установить
и сможешь тягать эту панель даже за пределы формы |
| Автор: TP@MB@Y 11.5.2006, 11:55 |
| Poseidon, спасибо, работает |
| Автор: Snowy 11.5.2006, 12:26 |
| Можно. Через SetWindowLong - изменить Style при окончании драгэндока. |
| Автор: Alexeis 11.5.2006, 14:28 | ||
Snowy, это здесь не пройдет. После создания окна такие стили не работают. VCL стили окна меняет так
т.е. пересоздает окно для Value разрешены только два варианта bsNone и bsSingle так что нужно создовать наследника и перекрыть функцию. |
| Автор: Snowy 11.5.2006, 16:20 | ||
| Позволю себе с Вами не согласиться. То, что окно пересоздается, совсем не значит, что оно перестает существовать. Просто меняет владельца.
Добавлено @ 16:21 Здесь Panelka - это панель с установленным драгэндоком. |
| Автор: Snowy 11.5.2006, 16:53 |
| ??? Какой заголовок? У меня после этого кода не остается никакого заголовка. Добавлено @ 16:58 Прикладываю проект для D7 |
| Автор: Alexeis 12.5.2006, 09:05 |
| Snowy, пробовал ваш экзешник - ситуация анологичная заголовок неактивный, но вполне видимый (синяя полоска с крестиком) Тестировал на Microsof Windows 2000 5.00.2195 Service Pack 4. |
| Автор: Snowy 12.5.2006, 10:19 | ||
Тогда немного поправим - сделаем по честному.
У меня на 2003 отлично работает. Добавлено @ 10:30 Пришиваю новый вариант. В нем панелька еще и обратно ставится. |
| Автор: Yanis 12.5.2006, 10:32 |
| У меня как и у Snowy, всё работает как требуется. |
| Автор: Alexeis 12.5.2006, 10:32 |
| Snowy, тот же эффект ! Кстати, вариант с "and not WS_DLGFRAME" - я уже раньше пробовал с тем же результатом. |
| Автор: Snowy 12.5.2006, 10:36 |
| Под XP и 2003 на D7 работает корректно. Я бы рад поправить, но у меня данная проблема не возникает... |
| Автор: Alexeis 12.5.2006, 10:37 |
| Yanis, какая винда |
| Автор: Yanis 12.5.2006, 10:39 |
| Win XP sp2 |
| Автор: Snowy 12.5.2006, 10:39 | ||
| Ага. Нашел. Если отключить стили - заголовок остается. Щас посмотрим... Добавлено @ 10:49 Без стилей нужно ресайзнуть маленько, чтобы эффект сработал.
Добавлено @ 10:50 Можно и более аккуратно сделать, просто этот способ самый короткий. |