Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: Программирование на Delphi


РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / Delphi

Выпуск № 859
от 05.07.2007, 21:35

Администратор:Калашников О.А.
В рассылке:Подписчиков: 465, Экспертов: 78
В номере:Вопросов: 2, Ответов: 3


Вопрос № 93469: Здравствуйте уважаемые эксперты. Подскажите, пожалуйста как сделать так что бы при нажатии и удержании левой кнопки мыши допустим на такой объект как панель форма бы двигалась в соответствии с перемещением мыши, проще говоря как сделать ,то за что мо...
Вопрос № 93474: Добрый вечер! Как создать простенькую програмку-декриптор (шифровальщик) чтобы можно было после шифрования сохранить результат в блокнот например, а затем достать из блокнота и получить дешифровку и сохранить ее в другой файл блокнота. Очень надо. За...

Вопрос № 93.469
Здравствуйте уважаемые эксперты. Подскажите, пожалуйста как сделать так что бы при нажатии и удержании левой кнопки мыши допустим на такой объект как панель форма бы двигалась в соответствии с перемещением мыши, проще говоря как сделать ,то за что можно перетаскивать форму.
Отправлен: 30.06.2007, 17:33
Вопрос задал: Левадный Тимур Русланович (статус: 1-ый класс)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 2)

Отвечает: Василенко Алексей Васильевич
Подобные задачи решаются написанием обработчиков на три ключевые события. Исходя из того, что объект перемешается при удержании левой кнопки мыши, обрабатываются события – MouseDown, MouseMove, MouseUp(в приведенном парядке).
Вариантов решения множество.
Предложенный мной вариант решения (unit1.pas в приложении) используется «невидимое» предвижение, т.е. во время движения мыши объект не перемещается. Кроме того добавлена проверочная часть, которая перед изменением положения объекта возвращает его в приделы формы.

Для выключения проверки раскомментируйте строки
// Panel1.top := Panel1.top + m_y.new - m_y.old;
// Panel1.Left := Panel1.Left + m_x.new - m_x.old;

И закомментируйте Ifы.
Тип Tval используется для передачи положения мыши между процедурами. Хочу обратить ваше внимание на то, что X, Y: Integer содержат положение мыши относительно верхней левой точки ОБЬЕКТА а не ФОРМЫ.

Приложение:

---------
Человек развивается только преодолевая трудности

Ответ отправил: Василенко Алексей Васильевич (статус: 2-ой класс)
Ответ отправлен: 30.06.2007, 18:31
Оценка за ответ: 4
Комментарий оценки:
Мне необходимо двигать форму а не панель

Отвечает: Denisss

Здравствуйте, Левадный Тимур Русланович!

Уже не помню откуда взял, но в одном из своих "старинных" проектов обнаружил такой вот код (см. приложение). Код достаточно прост.
Для работы кода, в uses обязательно должны быть прописаны модули Windows и Messages.

Надеюсь, это то, что Вам нужно ;-)

Удачи!

Приложение:

Ответ отправил: Denisss (статус: Профессионал)
Россия, Москва
WWW: Хлама много, по сути ничего...
----
Ответ отправлен: 01.07.2007, 12:14
Оценка за ответ: 5
Комментарий оценки:
То что надо. Огромное спасибо.


Вопрос № 93.474
Добрый вечер! Как создать простенькую програмку-декриптор (шифровальщик) чтобы можно было после шифрования сохранить результат в блокнот например, а затем достать из блокнота и получить дешифровку и сохранить ее в другой файл блокнота. Очень надо. Заранее спасибо.
Отправлен: 30.06.2007, 18:01
Вопрос задал: Ботвана Василий (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 2)

Отвечает: Градов Юрий Михайлович
Здравствуйте, Ботвана Василий!
Привожу пример с сайта DelphiWorld:

Приложение:

---------
Глаза боятся - руки делают!

Ответ отправил: Градов Юрий Михайлович (статус: Студент)
Ответ отправлен: 30.06.2007, 20:36


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2007, Портал RusFAQ.ru, Россия, Москва.
Авторское право: ООО "Мастер-Эксперт Про"
Email: support@rusfaq.ru, тел.: +7 (926) 535-23-31
Хостинг: "Московский хостер"
Поддержка: "Московский дизайнер"
Авторские права | Реклама на портале
Версия системы: 4.52 от 02.05.2007
Яндекс Rambler's Top100
RusFAQ.ru | MosHoster.ru | MosDesigner.ru | RusIRC.ru
Kalashnikoff.ru | RadioLeader.ru | RusFUCK.ru

В избранное