![]() |
Модераторы: Snowy, MetalFan, bems, Poseidon |
![]() ![]() ![]() |
|
Johnny_B |
|
|||
Новичок Профиль Группа: Участник Сообщений: 10 Регистрация: 30.7.2007 Где: Северодонецк Репутация: нет Всего: нет |
Есть форма, на ней Image, speedbutton, panel. edit etc.
Нужно что бы можно было окно таскать за всё кроме панелей и кнопок, а также других изображений, т.е. конкретно что бы окно можно было таскать за конкретный Image (он закрывает всю форму)... нашел вот это:
не подходит, так как невозможно нажимать кнопки, всю форму воспринимает как Каптион... как быть? |
|||
|
||||
TForumUser |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 110 Регистрация: 7.7.2007 Репутация: 0 Всего: 0 |
если решать просто влоб, может получиться следующий код:
ПЫСЫ. Возможно, можно проверять, нажата ли клавиша мыши другим способом, просто я его не знаю. В таком случае такой код будет выглядеть немного меньше) Это сообщение отредактировал(а) TForumUser - 31.7.2007, 00:43 --------------------
Экономте электроэнергию! Выключайте Num Lock! |
|||
|
||||
Johnny_B |
|
|||
Новичок Профиль Группа: Участник Сообщений: 10 Регистрация: 30.7.2007 Где: Северодонецк Репутация: нет Всего: нет |
TForumUser, Спасибо
![]() Единственное заметел, что перетаскивается с содержимым окна а не рамка, т.е. у меня в системе отключено перетаскивание с содержимым окна... думаю это из-а того что этот система работает только с Каптион. |
|||
|
||||
THandle |
|
|||
![]() Хранитель Клуба ![]() Награды: 1 Профиль Группа: Админ Сообщений: 3639 Регистрация: 31.7.2007 Где: Moscow, Dubai Репутация: 50 Всего: 372 |
Я всегда когда надо использую вот такой код:
|
|||
|
||||
W1zArD |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 285 Регистрация: 29.1.2006 Репутация: нет Всего: 3 |
на бработчике события OnMouseDown
и таскай себе на здоровье |
|||
|
||||
Johnny_B |
|
|||
Новичок Профиль Группа: Участник Сообщений: 10 Регистрация: 30.7.2007 Где: Северодонецк Репутация: нет Всего: нет |
А как таскать форму за Bevel, ведь у него нет событий?
Можно ли сделать что бы при клике на этот Бэвел, система думала что кликают на Форму или Имэйдж??? Спасибо за ответы ![]() |
|||
|
||||
bems |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3400 Регистрация: 5.1.2006 Репутация: 18 Всего: 88 |
смотри сообщение WM_HCHITTEST
-------------------- Обижено школьников: 8 |
|||
|
||||
pseud |
|
|||
![]() Экспёрт Тыдыщ ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1175 Регистрация: 18.5.2007 Где: Минск, Беларусь Репутация: 10 Всего: 40 |
на форме лежит 2 кнопки и 2 лабела
в результате: - тягать можно за тело формы - шапка формы продолжает выполнять функции шапки - кнопка 1 и лабел 1 остаются кликабельны - кнопка 2 и лабел 2 - тягательны
Добавлено через 3 минуты и 10 секунд маленький недочет - кнопка 2 осталась кликабельна надо копать -------------------- Испытание чужого терпения можно считать успешным, если оно лопнуло... |
|||
|
||||
bems |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3400 Регистрация: 5.1.2006 Репутация: 18 Всего: 88 |
pseud, а зачем PtInRect?
мона ж унаследованній обработчик візвать и проверять его результат? -------------------- Обижено школьников: 8 |
|||
|
||||
pseud |
|
|||
![]() Экспёрт Тыдыщ ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1175 Регистрация: 18.5.2007 Где: Минск, Беларусь Репутация: 10 Всего: 40 |
чтобы шапка формы оставалась шапкой попробуй сначала без этого кода - получишь: - нет доступа к кнопкам min, max, close - нет доступа к бордюрам -------------------- Испытание чужого терпения можно считать успешным, если оно лопнуло... |
|||
|
||||
bems |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3400 Регистрация: 5.1.2006 Репутация: 18 Всего: 88 |
ну я ж говорю например если унаследованый обработчик вернул HTCLIENT то заменить результат на HTCAPTION а в противном случае оставлять как есть. Тем более что ты в своем примере и так вызываешь унаследованый обработчик а значит определение принадлежности точки уже было сделано. А вызовом PtInRect ты делаешь двойную работу -------------------- Обижено школьников: 8 |
|||
|
||||
pseud |
|
|||
![]() Экспёрт Тыдыщ ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1175 Регистрация: 18.5.2007 Где: Минск, Беларусь Репутация: 10 Всего: 40 |
bems,
наверно ты имеешь ввиду, что код должен быть такой:
Это сообщение отредактировал(а) pseud - 3.8.2007, 14:27 -------------------- Испытание чужого терпения можно считать успешным, если оно лопнуло... |
|||
|
||||
bems |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3400 Регистрация: 5.1.2006 Репутация: 18 Всего: 88 |
я думаю что лучше так
Если нужен лейбл за который нельзя таскать то просто можно заменить его на статиктекст или положить на панель Добавлено через 2 минуты и 28 секунд претаскивания за границы и другие элементы можно добиться проверяя результат встроенной обработки на другие предопределенные значения HTXXXXXXXXXX. они есть в хелпе -------------------- Обижено школьников: 8 |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Delphi: Для новичков" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Delphi: Для новичков | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |