Добро пожаловать к нам в гости! Наш сайт посвящён программе NeoBook, с помощью которой вы легко сможете создавать собственные мультимедиа-приложения без необходимости изучать сложные языки программирования! Зарегистрируйтесь, чтобы стать членом нашего сообщества.
Как таскать мышью главное окно по экрану, если окно без "панели заголовка"? Убрал в свойствах проекта эту галку, но оставил: "подвижное", "раздвижное", "авто-размер"; стиль: "стандартное".
Есть главное меню, и было бы удобно и логично таскать окно цепляясь мышью за строку главного меню, но не цепляется...
Попробовал Drag Drop для объекта "Надпись", чтобы, получая координаты после сброса, устанавливать новое положение главного окна, но это работает только в пределах окна проекта. Получается нужно создавать отдельный контейнер и с его помощью получать новые координаты? Есть еще варианты? Бесплатный онлайн курс программирования в VisualNEO Win (NeoBook)
окно прекрасно таскается и за просто пустое место фона. Если на фоне у тебя фоновая картика (или др. обьекты), нужно в св-вах снять галочку Активен (Enabled), тогда на этом обьекте мышь не будет обрабатываться и можно будет таскать само окно. Как задавать вопросы
Наверное проблема в том, что у меня в проекте нет "пустого" пространства... Вся площадь окна закрыта контейнерами... Наверное из-за этого. Но как же тогда делать окна таких приложений подвижными?
Прикрепляю схему интерфейса. Попробуй запустить, вдруг у тебя будет "таскаться"...
Кода нет - только окно с контейнерами и объектом "рисунок" (пробовал его сделать по твоему совету неактивным - не прокатило).
Наверное проблема в том, что у меня в проекте нет "пустого" пространства... Вся площадь окна закрыта контейнерами... Наверное из-за этого.
Именно!
Quote (Вадим)
"рисунок" (пробовал его сделать по твоему совету неактивным - не прокатило).
Не прокатило потому что при неактивности объекта "рисунок" курсор зажимается на объекте контейнер. Я правда не знаю для чего там контейнеры (авто-изменение размеров?) Но если убрать галку активности с контейнера, то мышь уже будет активничать на самой форме, и будет таскать проект... Вообщем либо контейнеры сделать неактивными, либо сверху полоску сделать (ToolBar).
Добавлено (12 Февраля 2012, 19:39) --------------------------------------------- сорри опоздал
Причем если на окне несколько обьектов друг на друге, чтобы на них таскалось окно, нужно их все насквозь до самого фона сделать неактивными. вариант делать свое меню тут единственный, чтобы можно было деактивировать фоновую картинку. А если приложение растягивающееся, можно взять картинку-кусочек и поставить в опции размножить по горизонтали, чтоб она тоже "растягивалась". Как задавать вопросы
не знаю для чего там контейнеры (авто-изменение размеров?)
Да, для этого. Попробовал сейчас сделать свое меню. Выходит, что вверху нужно поместить еще один контейнер с привязкой "вверху" (за который можно будет таскать окно) и размещать в нем свое меню и кнопку закрытия приложения (красный крестик).
Меню и кнопку закрытия сделал отдельными контейнерами, поместив в этот верхний (его я сделал неактивным, в отличие от меню и кнопки, естественно). Так вот свойство неактивности передаётся контейнерам помещенным в неактивный контейнер, что в общем-то логично, но не позволяет вверху проекта разместить одновременно активный и неактивный контейнеры...
Была бы привязка "вверху по центру", "вверху слева", "вверху справа", то было бы чудесно, а раз их нет, то приходится все верхние объекты пихать в один контейнер (чтобы они были именно вверху), и тогда невозможно получить одновременно - и активные элементы, и что-бы окно таскалось по экрану (для этого контейнер должен быть неактивным)...
Вот засада. Что делать?
Добавлено (12 Февраля 2012, 21:07) --------------------------------------------- Похоже, что придется главное меню и кнопку закрытия приложения делать просто ниже самой верхней панели из неактивного контейнера, которая будет предназначена лишь для перетаскивания окна...
а зачем надо меню пихать в контейнер? расположи просто деактивированный рисунок на него сверху налепи обьекты. а кнопку Х положи в контейнер и привяжи. За оставшееся свободное место на рисунке между меню и крестиком таскаешь окно, или между обьектами меню цепляешь.
а понял зачем... чтобы другие контейнеры равнялись... тогда сделай три контейнера наверху, слева меню, в центре таскаешь, справа крестик Как задавать вопросы
Создай один контейнер с привязкой вверху страницы, а другой вложи в него и сделай привязку либо слева, либо справа, как потребуется, можно два контейнера. Для привязки "вверху по центру" используй событие "Resize" первого контейнера и двигай нужный. - А вам какую операционку поставить - экспи, семерку или висту? - Это ты сейчас о чем? - Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный? - Ну, конечно, надежный! - Вот, значит - экспи, без вопросов! Сейчас сделаем...
(Улицы разбитых фонарей, сезон 10, серия 17)
Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!
При модном втюхе модоподдающимся начинает нравиться
тогда сделай три контейнера наверху, слева меню, в центре таскаешь, справа крестик
Чтобы так сделать, нужно первому присвоить (слева), второму (в центре), а третьему (справа), а это не получится, поскольку под ними есть еще контейнеры - панель инструментов (сверху), а под ней рабочая область (в центре), панель рисунка (слева), строка состояния (внизу). В прикрепленном выше примере всё это есть (п.3). Попробуй, если тебе не трудно, там разместить панель с меню, крестиком и областью для перетаскивания, может я просто туплю сегодня...
Quote (Peter)
Создай один контейнер с привязкой вверху страницы, а другой вложи в него и сделай привязку либо слева, либо справа, как потребуется, можно два контейнера.
Разместить с помощью вложенных контейнеров можно что и как угодно, проблема в том, чтобы при этом окно таскалось, а значит нужно сделать верхний контейнер неактивным, но тогда объекты размещенные на нем тоже теряют активность... Чтобы окно таскалось нужно, чтобы в точке захвата все объекты насквозь были неактивными...
Добавлено (12 Февраля 2012, 21:47) --------------------------------------------- Получается, нужно поместить вверху неактивный элемент между активными (чтобы все были верхними).
А в этом контейнере можешь размещать уже все что твоей душе угодно.
Добавлено (12 Февраля 2012, 23:04) --------------------------------------------- Да.... И в догонку. Что бы не высчитывать расположение каждого объекта справа, объединяешь в группу, и делаешь один рсчет для группы. Кстати чем больше объектов сгруппировано, тем меньше тормозов.
mishem, в простом варианте и я могу. Мне нужен, так сказать, "второй этаж". Т.е. у меня уже есть все привязки вкруговую и мне их не хватает. Вверху можно строить этажерки сколько угодно, но не удается разместить вверху пассивный объект (за который можно таскать) между двумя активными. Ну или хотя бы один пассивный (вместо панели заголовка) и один активный (кнопку красный крестик).
Добавлено (12 Февраля 2012, 23:37) --------------------------------------------- В посте №3 я сделал макет, там только не хватает того, что я здесь на рисунке отметил красным. Можешь сделать то, что отмечено красным?
Или тоже самое, что на картинке, но без меню (его можно сделать уровнем ниже, не принципиально). Но это не меняет принципа и не избавляет от трудности.
А я тебе что сделал? Только у меня это отмечено белым.
А все свои прибомбасы(строку состояния,область для картинки т.д. засунь в контейнер.) Только все твои привязки теперь будут внутри контейнера. Не хочешь читать хелп?
Не, прости меня, это я туплю сегодня . Я почему-то не допер сразу, что все мои контейнеры можно в один контейнер засунуть. Сам же говорил про "этажи"... Пойду спать, однако... Только надо будет верхнюю границу этого контейнера (при растягивании вниз) выравнивать, иначе будет растягиваться не то, что нужно. Но это уже не сложно. Спасибо! Развел же тему... Ну ладно, может кому пригодится еще.
Как таскать мышью главное окно по экрану, если окно без "панели заголовка"?
А если с помощью Монитора мыши из плагина zmFunctions попробовать, я как то делал, пример прикрепил! Правда не знаю, правильно это или нет!...)) Программы пишу для себя, у меня работает и ладно!
Cerby, вы сначала определитесь с тем ЧТО вам надо:
ЦитатаCerby ()
таскать вот такой контейнер
или
ЦитатаCerby ()
Как сделать свой ErrorBox.
- А вам какую операционку поставить - экспи, семерку или висту? - Это ты сейчас о чем? - Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный? - Ну, конечно, надежный! - Вот, значит - экспи, без вопросов! Сейчас сделаем...
(Улицы разбитых фонарей, сезон 10, серия 17)
Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!
При модном втюхе модоподдающимся начинает нравиться
Это понятно, можно заточить Alertbox по ErrorBox, но у меня есть не преодолимое желание научится делать свои таскаемые окна типа ErrorBox или графики функций тоже в виде таскаемого Box-а, ну и конечно же TableBox и т.д.