Сергей, zmConfigMouseMonitor нб не понимает эту команду
И не поймет! Читаем здесь. Когда ж мы научимся-то плагинами пользоваться?....
Чем дорожу... Чем рискую на свете я.... Мигом одним! Только мигом одним!... WHITESNAKE St.Petersburg - 11.12.2008
У меня так не получается Это возможно,но сложно,с событиями не сопоставлено.
Добавлено (19 Февраль 2010, 17:34) --------------------------------------------- А хотя у меня есть идея,попробую реализвать...
Добавлено (19 Февраль 2010, 17:42) --------------------------------------------- Что то типа панаромирования рисунка,но с прикреплёнными к ней объектами,сейчас попробую.У меня получилось такое перетаскивание,но без "карты"
Сообщение отредактировал Gorezcaid - Пятница, 19 Февраль 2010, 17:32
но тут не запоминаются новая позиция группы и перемещение происходит вслед за указателем, т.е. надо рассчитывать координаты для moveobject специально, учитывая разницу между старыми и новыми координатами группы и указателя, т.е. перемещать на вычисленную разницу координат мыши (до начала таскания и после) и исходить из текущих координат группы. Лучше это делать в другом условии, при отпускании кнопки:
Code
If "[zmMouseCode]" "=" "LBU" расчет и запоминание координат, а возможно и движение сюда же записать EndIf
Можно заменить рисунок Picture на полигон Polygon и поставить команду на Drag Drop (Перетаскивание объекта завершено) - тоесть на карту,может сработает...
Gorezcaid, блин я тебе целую страницу объясняю что мне помимо карты надо передвигать и объекты
Добавлено (19 Февраль 2010, 18:06) --------------------------------------------- DEMBEL, ладно на сёдня башка уже не варит полторы сутки не спал завтра попробую...
Можно заменить рисунок Picture на полигон Polygon и поставить команду на Drag Drop (Перетаскивание объекта завершено) - тоесть на карту,может сработает...
я это сразу предлагал сделать, но вставил рисунок 1600х1200 - просто жутко тормозит
Обекты должны переместится на то-же место после отпускания карты(тоесть Polygon),по кругу все объекты должны занять свои места с помощью цикла. Это возможно,но надо понять как это математически расчитывается по осям x,y.Я над этим ещё поработаю,самому стало интересно. Сделал набросок в Drag Drop (Перетаскивание объекта завершено) записываем:
Что-то... Где-то... Не двигается... А причем тут я?
Чем дорожу... Чем рискую на свете я.... Мигом одним! Только мигом одним!... WHITESNAKE St.Petersburg - 11.12.2008
У меня ошибка:1 This object does not exist Данный объект не существует
MoveObject "Polygon[цикл полигона]" "[Left2]" "[Top2]" Нельзя вставить переменную в название обьекта,требует что б выглядело так: MoveObject "Polygon1" "[Left2]" "[Top2]" Почему,с другими объектами так можно,а здесь ошибка Примечание:переменная [цикл полигона] наращивается от 1 до 4-х
Нет,двигаем полигон Polygon11,а по окончании перетаскивания: 1)определяем координаты Polygon11 2)заводим счетчик(цикл) и временную переменную 3)определяем координаты вставочных объектов и на столько-же изменяем координаты объектов {по кругу(по циклу)}. Но вывелась ошибка (смотри выше),мне кажется,что программа не принимает изменение в имени,вложенной в цикл(идёт наложение неизвестных переменных и объекты не перемещаются как и главный).Попробую в ручную.
Добавлено (19 Февраль 2010, 18:55) --------------------------------------------- А возможно на перемещается,т.к для неё контейнер-это всё окно(имеет приделы,некуда перемещать).Эта идея не получится...Надо искать АЛЬТЕРНАТИВУ!!!
Сообщение отредактировал Gorezcaid - Пятница, 19 Февраль 2010, 18:56
а не кажется тебе, что имея около сотни обьектов такой пересчет каждого в цикле будет заметно тормозить процесс? не лучше ли двигать сразу группу или контейнер с картой и обьектами?
а не кажется тебе, что имея около сотни обьектов такой пересчет каждого в цикле будет заметно тормозить процесс? не лучше ли двигать сразу группу или контейнер с картой и обьектами?
Да но Омар, сказал,что ему нужно перетаскивать карту с объектами не по этой системе,я незнаю зачем,но это сильно затормозит компьючер... Способы которые я и вы ему надали ему не подходят; Надо что-бы мышкой,без слайдера и без нажать(чтоб захватить)--->перетащить--->нажать(чтоб отпустить) объект А требуется
Quote (Омар)
зажал мышь, не кликнул, а именно зажал при зажатой мыши ведём курсор куда надо, отпускаем и группа передвигается.
Я не знаю что ещё предложить...А вы?, Надо искать функции в плагинах для такой реализации,или просто перемещать контейнер Container1 или группу Group1 объектов. Ваши предложения?
вот примерно от этого принципа надо исходить Добавлено (19 Февраль 2010, 19:01) --------------------------------------------- требуется плагин zmFunctions если что... Прикрепления: NS.zip(209Kb)
Почему все указывают на этот плагин,недавно установил,но особых функций с клавиатурой и мышкой я там не видел... Приведите пример,может я ещё не полностью разобрался!
но особых функций с клавиатурой и мышкой я там не видел...
про клаву пока нет ничего, а мы говорим про монитор мышки - команда zmSetMouseMonitor, см. справку и демку. События нажатия/отпускания кнопок обрабатываются в указанной в команде подпрограмме (F6->Actions->вкладка Subroutines).
зажал мышь, не кликнул, а именно зажал при зажатой мыши ведём курсор куда надо, отпускаем и группа передвигается.
в моем примере плагином тоже самое можно сделать, если надо чтобы движение происходило ПОСЛЕ ОТПУСКАНИЯ кнопки (а не во время удержания), то надо осуществлять его в условиях if "[zmMouseCode]" "=" "LBU" // отпустили левую кнопку MoveObject // двигаем обьект EndIf Тогда при нажатой кнопке рассчитывать координаты, а при отпускании - делать движение, а у меня в подпрограмме все сразу происходит.
Сорри, но у меня нет сил читать всю тему целиком. Хоть и ненавижу геймерские темы, но.. Насколько я понял задачу: есть карта, с расположенными на ней объектами, и эту карту нужно двигать мышкой, и так, чтобы положения объектов на карте сохранялись. Так в чем проблема? Карту с объектами поместите в контейнер, и двигайте контейнер по странице - все его объекты будут двигаться вместе с ним. А "зажатие мышкой" можно сделать с помощью плагина. Контейнер может быть больше страницы по размерам, и видна будет только та его часть, что проецируется на страницу.
Чем дорожу... Чем рискую на свете я.... Мигом одним! Только мигом одним!... WHITESNAKE St.Petersburg - 11.12.2008
то вложите контейнер с картой в другой контейнер поменьше нужного размера.
Совершенно справедливо! Единственное, о чем нужно помнить, - координаты объектов внутри контейнера отсчитываются от верхнего левого угла контейнера (т.е. родительского объекта), а не главного окна.
Чем дорожу... Чем рискую на свете я.... Мигом одним! Только мигом одним!... WHITESNAKE St.Petersburg - 11.12.2008
про клаву пока нет ничего, а мы говорим про монитор мышки - команда zmSetMouseMonitor, см. справку и демку. События нажатия/отпускания кнопок обрабатываются в указанной в команде подпрограмме (F6->Actions->вкладка Subroutines).
У меня русифицированная версия Neobook,мне сложновато понять
Quote (DEMBEL)
(F6->Actions->вкладка Subroutines)
На английском не работал(плохо понимаю),легче сказать F6->Команды->вкладка Шаблоны сценариев(подпрограммы))
Не существует в zmFunctions 1.0b команда zmSetMouseMonitor,подождите...
Добавлено (19 Февраль 2010, 20:08) --------------------------------------------- Я скачивал плагин через форум http://mmbuilder.ru/forum/37-1610-1 Но такой функции нет,по крайней мере в этой версии,ПОМОГИТЕ раздобыть этот плагин.
А насчет объектов:Функция GetObjectHandle мне не по силам,знаю что Назначение:Получить "Handle" дескриптор объекта (HWND). Обычно используется разработчиками Plug-In-ов. GetObjectHandle "object name" "variable" object name -Имя объекта. variable -Имя переменной, в которой будет храниться дескриптор. Пример:GetObjectHandle "ListBox1" "[Handle]" — это неотрицательное целое число. Когда мы открываем существующий файл или создаем новый файл, ядро возвращает процессу файловый дескриптор.
И это - хорошо! Gorezcaid, не забивайте себе голову ненужным хламом. В практической работе с NeoBook никакие дескрипторы не нужны. Исключение составляют лишь отдельные плагины, и даже в этих случаях воспринимайте "дескриптор" просто как обычную текстовую информацию.
Чем дорожу... Чем рискую на свете я.... Мигом одним! Только мигом одним!... WHITESNAKE St.Petersburg - 11.12.2008
Короче говоря, дескриптор - уникальный номер каждого обьекта. С данным плагином он может использоваться в целях проверки, что действие (мониторинг мыши) выполняется для конкретного нужного обьекта, и ни для какого другого. А так используется редко.
Теперь понятно,я понял какое дополнение к плагину и функция zmSetMouseMonitor,она просто следит за мышкой и сохраняет результат в [zmMouseCode],а вот zmMWH прокручивание колёсика мыши в любую сторону,а в разные можна зделать? Это всё упрощает работу по созданию приложений. Извеняюсь,что задаю вопросы не по теме,а можна в форуме создать раздел "вопроссы не по теме",но о Neobook,что бы не создавать лишние темы?
Сообщение отредактировал Gorezcaid - Пятница, 19 Февраль 2010, 20:48
ну вот и я о том же, а если не нужно проецировать на всю страницу, то вложите контейнер с картой в другой контейнер поменьше нужного размера.
по второму кругу поехали?! уже реализовал же суть в последнем приклепленом проекте, там требовалось только расчитать грамотно координаты перемещения, а вы опять ушли от этой сути и к ней же вернулись
что значит лишние темы?! лишних не бывает. Главное грамотно тему назвать, ну а дальше - кто чем сможет - поможет... рано или поздно такойже вопрос созреет и у другого юзера. Требования перед созданием убедится, что подобного нет
Сообщение отредактировал Сергей - Пятница, 19 Февраль 2010, 22:23