Войти
NeoBooker.ru
Добро пожаловать к нам в гости!
Наш сайт посвящён программе NeoBook, с помощью которой вы легко сможете создавать собственные мультимедиа-приложения без необходимости изучать сложные языки программирования! Зарегистрируйтесь, чтобы стать членом нашего сообщества.
Страница 1 из 471234647»
Модератор форума: Peter, DEMBEL 
Форум NeoBook » Всё о программе NeoBook » Плагины для NeoBook » Плагин zmFunctions (Некоторые функции для Neobook)
Плагин zmFunctions
PeterДата: Вс, 10 Января 2010, 04:49 | Сообщение # 1
Админ NeoBook
Тут на форуме не раз возникали замечания на тему, что в NeoBook не хватает тех или иных мелких, но иногда полезных функций.
Мне думается, что следует попытаться исправить эту ситуацию с помощью плагина, т.к. VB или Java знают далеко не все необукеры, к тому же, на мой взгляд, плагин намного более эффективное средство нежели чем, например, тот же VBS.
С учетом последнего вопроса об анимации внешних необушных окон, решил реанимировать свой самый первый плагин, который давно-давно делал.

В архиве (см.прикрепление) находятся две версии плагина (Design и Runtime), подобие справки, и демка.



Последняя версия плагина (27.02.2011) в прикреплении.

Неупакованный вариант (только плагин)
Прикрепления: zmFunctions.zip(344Kb)


- А вам какую операционку поставить - экспи, семерку или висту?
- Это ты сейчас о чем?
- Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный?
- Ну, конечно, надежный!
- Вот, значит - экспи, без вопросов! Сейчас сделаем...

(Улицы разбитых фонарей, сезон 10, серия 17)

Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!


При модном втюхе модоподдающимся начинает нравиться
 
СообщениеТут на форуме не раз возникали замечания на тему, что в NeoBook не хватает тех или иных мелких, но иногда полезных функций.
Мне думается, что следует попытаться исправить эту ситуацию с помощью плагина, т.к. VB или Java знают далеко не все необукеры, к тому же, на мой взгляд, плагин намного более эффективное средство нежели чем, например, тот же VBS.
С учетом последнего вопроса об анимации внешних необушных окон, решил реанимировать свой самый первый плагин, который давно-давно делал.

В архиве (см.прикрепление) находятся две версии плагина (Design и Runtime), подобие справки, и демка.



Последняя версия плагина (27.02.2011) в прикреплении.

Неупакованный вариант (только плагин)

Автор - Peter
Дата добавления - 10 Января 2010 в 04:49
СергейДата: Вс, 10 Января 2010, 11:12 | Сообщение # 2
Необукер
Quote (Peter)
Пока это только пробная (на тестирование) версия
Петр супер!, потестим :)

Добавлено (10 Январь 2010, 10:35)
---------------------------------------------
Порадовали много функций

Quote (Peter)
Мне думается, что ближайшей задачей будут некоторые "файловые" функции,
высказать замечания/пожелания.
в раздел "Файлы и папки" мона добавить функцию удаления папки(в месте с содержимым)
и если не проблемно-поиск в папке нужного файла(имя, маска?!)

Добавлено (10 Январь 2010, 11:12)
---------------------------------------------
Нет слов, первый тест и все положительные результаты. Мне как раз нужна была функция размера папки, а метод ВБС частенько входит в ступор
Спасибо, отличное начало!

Сообщение отредактировано
sp3d - Вс, 10 Января 2010, 11:09
 
Сообщение
Quote (Peter)
Пока это только пробная (на тестирование) версия
Петр супер!, потестим :)

Добавлено (10 Январь 2010, 10:35)
---------------------------------------------
Порадовали много функций

Quote (Peter)
Мне думается, что ближайшей задачей будут некоторые "файловые" функции,
высказать замечания/пожелания.
в раздел "Файлы и папки" мона добавить функцию удаления папки(в месте с содержимым)
и если не проблемно-поиск в папке нужного файла(имя, маска?!)

Добавлено (10 Январь 2010, 11:12)
---------------------------------------------
Нет слов, первый тест и все положительные результаты. Мне как раз нужна была функция размера папки, а метод ВБС частенько входит в ступор
Спасибо, отличное начало!


Автор - Сергей
Дата добавления - 10 Января 2010 в 11:12
Alex3AДата: Вс, 10 Января 2010, 12:21 | Сообщение # 3
Друг клуба ММВ
Ну вот, уже что то! Особенно про окна. Добавь еще поиск чилдренов и замену парентов,
можно будет и пофулиганить :D
По крайней мере фича будет весьма интересная.
 
СообщениеНу вот, уже что то! Особенно про окна. Добавь еще поиск чилдренов и замену парентов,
можно будет и пофулиганить :D
По крайней мере фича будет весьма интересная.

Автор - Alex3A
Дата добавления - 10 Января 2010 в 12:21
mishemДата: Сб, 16 Января 2010, 20:20 | Сообщение # 4
Эксперт форума
Peter, Окна Neo Book. При выборе в стандартной команде Neo Book CustomWindow стиль окна FixedPos, окно при команде zmAnimateCustomWindow, открывается ТОЛЬКО в пределах окна проекта :( При выборе любого другого стиля, все прикрасно открываются за пределами окна. Жаль, то что именно нужно, не получается. :(

Добавлено (16 Январь 2010, 20:20)
---------------------------------------------
Еще, когда в поле "Сохранить результат в переменной" пишешь переменную без [] скобок, скобки автоматически не добавлябтся. Конечно это не столь важно, но по привычке можно не обратить на это внимание :(


Не хочешь читать хелп?

Если хелп и форум не помогли, тогда все ответы здесь



Если вы думаете, что сможете — вы сможете, если думаете, что нет — вы правы.
 
СообщениеPeter, Окна Neo Book. При выборе в стандартной команде Neo Book CustomWindow стиль окна FixedPos, окно при команде zmAnimateCustomWindow, открывается ТОЛЬКО в пределах окна проекта :( При выборе любого другого стиля, все прикрасно открываются за пределами окна. Жаль, то что именно нужно, не получается. :(

Добавлено (16 Январь 2010, 20:20)
---------------------------------------------
Еще, когда в поле "Сохранить результат в переменной" пишешь переменную без [] скобок, скобки автоматически не добавлябтся. Конечно это не столь важно, но по привычке можно не обратить на это внимание :(


Автор - mishem
Дата добавления - 16 Января 2010 в 20:20
PeterДата: Вт, 19 Января 2010, 04:06 | Сообщение # 5
Админ NeoBook
Quote (Вадим)
всегда была строго привязана к левому краю

Это задается в той подпрограмме, которая назначается командой zmOnMoveSize, а там все просто - zmSetCustomWindowPos.

Добавлено (19 Январь 2010, 04:06)
---------------------------------------------
Но надо будет добавить ещё одну команду для более удобного и точного вычисления позиции необушного внешнего окна, т.к. у окна есть общие размеры, а есть и размеры клиентской части.
В принципе, эта команда (zmGetWindowRectangle) имеется для "вообще" окон, а специально для необушных нет.


- А вам какую операционку поставить - экспи, семерку или висту?
- Это ты сейчас о чем?
- Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный?
- Ну, конечно, надежный!
- Вот, значит - экспи, без вопросов! Сейчас сделаем...

(Улицы разбитых фонарей, сезон 10, серия 17)

Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!


При модном втюхе модоподдающимся начинает нравиться
 
Сообщение
Quote (Вадим)
всегда была строго привязана к левому краю

Это задается в той подпрограмме, которая назначается командой zmOnMoveSize, а там все просто - zmSetCustomWindowPos.

Добавлено (19 Январь 2010, 04:06)
---------------------------------------------
Но надо будет добавить ещё одну команду для более удобного и точного вычисления позиции необушного внешнего окна, т.к. у окна есть общие размеры, а есть и размеры клиентской части.
В принципе, эта команда (zmGetWindowRectangle) имеется для "вообще" окон, а специально для необушных нет.


Автор - Peter
Дата добавления - 19 Января 2010 в 04:06
PeterДата: Вт, 19 Января 2010, 04:47 | Сообщение # 6
Админ NeoBook
Quote (Вадим)
в NB все равно нельзя манипулировать размером меню

Раговор не о манипулировании размером меню, а о вычислении позиции окон, т.к. на разных компьютерах, в зависимости от стиля оформления, могут быть разные толщина рамки, высота заголовка. А зная разницу в рамерах окна и его клиентской части можно вычислить толщину рамки, высоту заголовка, и в соответствии с этим рассчитывать нужную позицию окна, если потребуется, например, "прыгать" от размеров клиентской части.
Кстати, сама NeoBook считает координаты от верхнего левого угла именно клиентской части главного окна без учета заголовка.
Quote (Вадим)
иметь возможность делать свои размер, заливку, шрифт и фон для основного меню - было бы прикольно! Хотя бы заливку цвета свою, и то уже было бы интереснее!

Ну вот, пошло-поехало!...
Нет, прав Алекс!
Тыщу раз прав!...
:D


- А вам какую операционку поставить - экспи, семерку или висту?
- Это ты сейчас о чем?
- Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный?
- Ну, конечно, надежный!
- Вот, значит - экспи, без вопросов! Сейчас сделаем...

(Улицы разбитых фонарей, сезон 10, серия 17)

Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!


При модном втюхе модоподдающимся начинает нравиться
 
Сообщение
Quote (Вадим)
в NB все равно нельзя манипулировать размером меню

Раговор не о манипулировании размером меню, а о вычислении позиции окон, т.к. на разных компьютерах, в зависимости от стиля оформления, могут быть разные толщина рамки, высота заголовка. А зная разницу в рамерах окна и его клиентской части можно вычислить толщину рамки, высоту заголовка, и в соответствии с этим рассчитывать нужную позицию окна, если потребуется, например, "прыгать" от размеров клиентской части.
Кстати, сама NeoBook считает координаты от верхнего левого угла именно клиентской части главного окна без учета заголовка.
Quote (Вадим)
иметь возможность делать свои размер, заливку, шрифт и фон для основного меню - было бы прикольно! Хотя бы заливку цвета свою, и то уже было бы интереснее!

Ну вот, пошло-поехало!...
Нет, прав Алекс!
Тыщу раз прав!...
:D

Автор - Peter
Дата добавления - 19 Января 2010 в 04:47
mishemДата: Вт, 19 Января 2010, 16:26 | Сообщение # 7
Эксперт форума
Peter, Мож Я что не правильно делаю, но у меня получается вот что. При открытии проекта создаю и прячу окно
Code

CustomWindow "" "-1" "4" "Container2" "NoBorder"
zmShowCustomWindow "Container2" "Hide"

Координаты как видешь -1 и 4, далее
Code

zmOnMoveSize "OnMove"
zmAnimateCustomWindow "Container2" "SlideRight" "100" "True"

Где OnMove
Code

zmSetCustomWindowPos "Container2" "298" "-3" "" "" "" ""

с координатами 298 и -3, так вот, пока основное окно не двинешь в какую нибудь сторону, Container2 будет открываться по координатам -1 и 4. Если окно подвинуть в сторону не дав еще ни какой команды, а потом запустить скрипт
Code

zmOnMoveSize "OnMove"
zmAnimateCustomWindow "Container2" "SlideRight" "100" "True"

опять Container2 будет открываться по координатам -1 и 4. и только после того как окно опять подвинешь в какую либо сторону, начнет открываться именно там где надо. Тоесть в том месте окна где нужно было с самого начала.


Не хочешь читать хелп?

Если хелп и форум не помогли, тогда все ответы здесь



Если вы думаете, что сможете — вы сможете, если думаете, что нет — вы правы.


Сообщение отредактировано
mishem - Вт, 19 Января 2010, 16:27
 
СообщениеPeter, Мож Я что не правильно делаю, но у меня получается вот что. При открытии проекта создаю и прячу окно
Code

CustomWindow "" "-1" "4" "Container2" "NoBorder"
zmShowCustomWindow "Container2" "Hide"

Координаты как видешь -1 и 4, далее
Code

zmOnMoveSize "OnMove"
zmAnimateCustomWindow "Container2" "SlideRight" "100" "True"

Где OnMove
Code

zmSetCustomWindowPos "Container2" "298" "-3" "" "" "" ""

с координатами 298 и -3, так вот, пока основное окно не двинешь в какую нибудь сторону, Container2 будет открываться по координатам -1 и 4. Если окно подвинуть в сторону не дав еще ни какой команды, а потом запустить скрипт
Code

zmOnMoveSize "OnMove"
zmAnimateCustomWindow "Container2" "SlideRight" "100" "True"

опять Container2 будет открываться по координатам -1 и 4. и только после того как окно опять подвинешь в какую либо сторону, начнет открываться именно там где надо. Тоесть в том месте окна где нужно было с самого начала.

Автор - mishem
Дата добавления - 19 Января 2010 в 16:26
PeterДата: Вт, 19 Января 2010, 21:37 | Сообщение # 8
Админ NeoBook
Quote (DEMBEL)
просто детектить нажатие пкм и предоставить самому решать что делать

Именно это я и планирую делать. Будет один хук на все окно приложения, а детектировать на каком объекте при этом находится мышь прекрасно можно и средствами самой NeoBook. :)
Но я ещё и не начинал пока, только домой ввалился...
Quote (Вадим)
Присоединяюсь к просьбе!

:)
Quote (mishem)
пока основное окно не двинешь в какую нибудь сторону, Container2 будет открываться по координатам -1 и 4.

Совершенно справедливо - так оно и должно быть, ведь команда двигающая окно не запущена.
Нужно дать пояснение:
В Windows все происходит событийно!
Команда плагина zmOnMoveSize не начинает движение никаких окон, а только назначает реакцию на событие перемещения и/или изменения размера главного окна приложения.
Вот рисунок:
Стрелкой указаны закладки, в которых мы прописываем скрипты, выполняющиеся при наступлении событий, указанных на этих закладках.
Представьте, что команда zmOnMoveSize просто как бы добавляет ещё одну закладку в эти дела, но с той разницей, что события этой "виртуальной закладки" можно в любой момент включать/отключать и переопределять в зависимости от ситуации.
Ещё раз...
zmOnMoveSize всего-лишь назначает подпрограмму, которая начнет выполняться только с началом (событием) перетаскивания главного окна и/или изменении его размеров!
Quote (mishem)
опять Container2 будет открываться по координатам -1 и 4.

Контейнер и открывается там, куда ты его сам поставил.
:)
И ещё одна тонкость: команды, идущие по скрипту за zmAnimateCustomWindow, начнут выполняться после того как анимация "отработает".

Добавлено (19 Январь 2010, 21:37)
---------------------------------------------
Пожалуй, надо будет переименовать с zmOnMoveSize на zmSetOnMoveSize.
:)

Прикрепления: 7077606.png(15Kb)


- А вам какую операционку поставить - экспи, семерку или висту?
- Это ты сейчас о чем?
- Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный?
- Ну, конечно, надежный!
- Вот, значит - экспи, без вопросов! Сейчас сделаем...

(Улицы разбитых фонарей, сезон 10, серия 17)

Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!


При модном втюхе модоподдающимся начинает нравиться
 
Сообщение
Quote (DEMBEL)
просто детектить нажатие пкм и предоставить самому решать что делать

Именно это я и планирую делать. Будет один хук на все окно приложения, а детектировать на каком объекте при этом находится мышь прекрасно можно и средствами самой NeoBook. :)
Но я ещё и не начинал пока, только домой ввалился...
Quote (Вадим)
Присоединяюсь к просьбе!

:)
Quote (mishem)
пока основное окно не двинешь в какую нибудь сторону, Container2 будет открываться по координатам -1 и 4.

Совершенно справедливо - так оно и должно быть, ведь команда двигающая окно не запущена.
Нужно дать пояснение:
В Windows все происходит событийно!
Команда плагина zmOnMoveSize не начинает движение никаких окон, а только назначает реакцию на событие перемещения и/или изменения размера главного окна приложения.
Вот рисунок:
Стрелкой указаны закладки, в которых мы прописываем скрипты, выполняющиеся при наступлении событий, указанных на этих закладках.
Представьте, что команда zmOnMoveSize просто как бы добавляет ещё одну закладку в эти дела, но с той разницей, что события этой "виртуальной закладки" можно в любой момент включать/отключать и переопределять в зависимости от ситуации.
Ещё раз...
zmOnMoveSize всего-лишь назначает подпрограмму, которая начнет выполняться только с началом (событием) перетаскивания главного окна и/или изменении его размеров!
Quote (mishem)
опять Container2 будет открываться по координатам -1 и 4.

Контейнер и открывается там, куда ты его сам поставил.
:)
И ещё одна тонкость: команды, идущие по скрипту за zmAnimateCustomWindow, начнут выполняться после того как анимация "отработает".

Добавлено (19 Январь 2010, 21:37)
---------------------------------------------
Пожалуй, надо будет переименовать с zmOnMoveSize на zmSetOnMoveSize.
:)


Автор - Peter
Дата добавления - 19 Января 2010 в 21:37
DEMBELДата: Вт, 19 Января 2010, 21:39 | Сообщение # 9
Наш дизайнер
Quote (Peter)
а детектировать на каком объекте при этом находится мышь прекрасно можно и средствами самой NeoBook.

это как это так? по координатам смотреть чтоли или как?


Как задавать вопросы

Win7x64 SP1 Neobook v5.70 (Trial)
WinXP SP3 Neobook v5.62
 
Сообщение
Quote (Peter)
а детектировать на каком объекте при этом находится мышь прекрасно можно и средствами самой NeoBook.

это как это так? по координатам смотреть чтоли или как?

Автор - DEMBEL
Дата добавления - 19 Января 2010 в 21:39
PeterДата: Вт, 19 Января 2010, 21:55 | Сообщение # 10
Админ NeoBook
Quote (DEMBEL)
это как это так?

У всех "нужных" объектов NeoBook есть события MouseEnter и MouseExit (вот жаль только, что не у всех есть "правая кнопка мыши").
Есть такая переменная [Self] Подробнее см. файл справки.
Детектить так:
Берем ListBox (у которого нет реакции на правую кнопку), и в его события MouseEnter и MouseExit соотвественно прописываем команды SetVar "[Object]" "[Self]" и SetVar "[Object]" "". В результате при наведении мыши на ListBox в переменной [Object] оказывается имя объекта, а при уходе мышки переменная пустеет.
А дальше в зависимости от имени объекта делаем что нужно.
:)
Можно и не имя объекта, а цифру какую-нибудь. Что больше понравится.
А можно и координаты считать, но это более хлопотно, хотя и не отменяется...


- А вам какую операционку поставить - экспи, семерку или висту?
- Это ты сейчас о чем?
- Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный?
- Ну, конечно, надежный!
- Вот, значит - экспи, без вопросов! Сейчас сделаем...

(Улицы разбитых фонарей, сезон 10, серия 17)

Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!


При модном втюхе модоподдающимся начинает нравиться
 
Сообщение
Quote (DEMBEL)
это как это так?

У всех "нужных" объектов NeoBook есть события MouseEnter и MouseExit (вот жаль только, что не у всех есть "правая кнопка мыши").
Есть такая переменная [Self] Подробнее см. файл справки.
Детектить так:
Берем ListBox (у которого нет реакции на правую кнопку), и в его события MouseEnter и MouseExit соотвественно прописываем команды SetVar "[Object]" "[Self]" и SetVar "[Object]" "". В результате при наведении мыши на ListBox в переменной [Object] оказывается имя объекта, а при уходе мышки переменная пустеет.
А дальше в зависимости от имени объекта делаем что нужно.
:)
Можно и не имя объекта, а цифру какую-нибудь. Что больше понравится.
А можно и координаты считать, но это более хлопотно, хотя и не отменяется...

Автор - Peter
Дата добавления - 19 Января 2010 в 21:55
DEMBELДата: Сб, 23 Января 2010, 13:05 | Сообщение # 11
Наш дизайнер
клево! маска работает, и анимация! только я маленько не вкурил - маска применяется к окну только когда оно уже создано? но тогда заметен момент применения маски, как тут разрулить? может создавать окно скрытым, применять маску и показывать? Или создавать где-то в невидимой области? Да и анимация применяется к окну тоже только после создания. По-видимому, нада момент создания окна еще проконтролировать, чтобы он был незаметен.

Как задавать вопросы

Win7x64 SP1 Neobook v5.70 (Trial)
WinXP SP3 Neobook v5.62
 
Сообщениеклево! маска работает, и анимация! только я маленько не вкурил - маска применяется к окну только когда оно уже создано? но тогда заметен момент применения маски, как тут разрулить? может создавать окно скрытым, применять маску и показывать? Или создавать где-то в невидимой области? Да и анимация применяется к окну тоже только после создания. По-видимому, нада момент создания окна еще проконтролировать, чтобы он был незаметен.

Автор - DEMBEL
Дата добавления - 23 Января 2010 в 13:05
PeterДата: Сб, 23 Января 2010, 15:04 | Сообщение # 12
Админ NeoBook
DEMBEL, совсем забыл, блин... redface
У необушных внешних окон можно проконтролировать момент их создания.
По умолчанию у каждого такого окна есть два события OnOpen и OnClose.
Заголовок такой: Object_OnPOpen и Object_OnClose, где Object - имя объекта, на основе которого создается окно, например, Container1_OnOpen.
На событие OnOpen и можно повесить команду наложения маски, или все нужные события. Тогда окно можно создавать где угодно.
:)

Добавлено (23 Январь 2010, 14:35)
---------------------------------------------
Эти команды-события (OnOpen и OnClose) оформляются в виде подпрограмм, и прописываются в секции подпрограмм.

Добавлено (23 Январь 2010, 15:04)
---------------------------------------------

Quote (Peter)
это как, определить разрешение монитора и задать бОльшие координаты?

Да, и при этом ничего особенного не нужно, например:
Code
CustomWindow "Окно для маски" "[ScreenWidth]-10000" "-1" "Container1" "NoBorder"

:)


- А вам какую операционку поставить - экспи, семерку или висту?
- Это ты сейчас о чем?
- Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный?
- Ну, конечно, надежный!
- Вот, значит - экспи, без вопросов! Сейчас сделаем...

(Улицы разбитых фонарей, сезон 10, серия 17)

Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!


При модном втюхе модоподдающимся начинает нравиться
 
СообщениеDEMBEL, совсем забыл, блин... redface
У необушных внешних окон можно проконтролировать момент их создания.
По умолчанию у каждого такого окна есть два события OnOpen и OnClose.
Заголовок такой: Object_OnPOpen и Object_OnClose, где Object - имя объекта, на основе которого создается окно, например, Container1_OnOpen.
На событие OnOpen и можно повесить команду наложения маски, или все нужные события. Тогда окно можно создавать где угодно.
:)

Добавлено (23 Январь 2010, 14:35)
---------------------------------------------
Эти команды-события (OnOpen и OnClose) оформляются в виде подпрограмм, и прописываются в секции подпрограмм.

Добавлено (23 Январь 2010, 15:04)
---------------------------------------------

Quote (Peter)
это как, определить разрешение монитора и задать бОльшие координаты?

Да, и при этом ничего особенного не нужно, например:
Code
CustomWindow "Окно для маски" "[ScreenWidth]-10000" "-1" "Container1" "NoBorder"

:)

Автор - Peter
Дата добавления - 23 Января 2010 в 15:04
PeterДата: Вс, 24 Января 2010, 11:25 | Сообщение # 13
Админ NeoBook
Quote (DEMBEL)
хитрый Peter, ты мой пример заставь не моргать

DEMBEL, ваша с mishem, ошибка в том, что вы создаете ещё раз УЖЕ СОЗДАННОЕ окно, отсюда и появляется моргание, так и должно быть в этом случае.
См.твой переделанный пример уже без всякого моргания, команду наложения маски я перенёс, но это в данном случае не принципиально, можно её и оставить на старом месте.

Окно, если оно уже создано не надо каждый раз создавать заново!
Как это проверить см. опять же в прикреплении.

Добавлено (24 Январь 2010, 11:25)
---------------------------------------------

Quote (mishem)
Peter, Все равно моргает

Я просто твой пример не довел до ума....
См. переделанный пример Дембеля!
Да и примером чуть раньше, я ТО ЖЕ САМОЕ показал.
НЕТУ У ВАС БОЛЬШЕ МОРГАНИЯ!!!

Интересно, что корнем слово "моргание" является, гм... :)

Прикрепления: maskDembel.rar(4Kb)


- А вам какую операционку поставить - экспи, семерку или висту?
- Это ты сейчас о чем?
- Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный?
- Ну, конечно, надежный!
- Вот, значит - экспи, без вопросов! Сейчас сделаем...

(Улицы разбитых фонарей, сезон 10, серия 17)

Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!


При модном втюхе модоподдающимся начинает нравиться
 
Сообщение
Quote (DEMBEL)
хитрый Peter, ты мой пример заставь не моргать

DEMBEL, ваша с mishem, ошибка в том, что вы создаете ещё раз УЖЕ СОЗДАННОЕ окно, отсюда и появляется моргание, так и должно быть в этом случае.
См.твой переделанный пример уже без всякого моргания, команду наложения маски я перенёс, но это в данном случае не принципиально, можно её и оставить на старом месте.

Окно, если оно уже создано не надо каждый раз создавать заново!
Как это проверить см. опять же в прикреплении.

Добавлено (24 Январь 2010, 11:25)
---------------------------------------------

Quote (mishem)
Peter, Все равно моргает

Я просто твой пример не довел до ума....
См. переделанный пример Дембеля!
Да и примером чуть раньше, я ТО ЖЕ САМОЕ показал.
НЕТУ У ВАС БОЛЬШЕ МОРГАНИЯ!!!

Интересно, что корнем слово "моргание" является, гм... :)


Автор - Peter
Дата добавления - 24 Января 2010 в 11:25
PeterДата: Вс, 24 Января 2010, 23:27 | Сообщение # 14
Админ NeoBook
Quote (DEMBEL)
вы думали это все? ага, щаз... предлагаю провентилировать вопрос

Quote (DEMBEL)
но чтоб за курсором таскалось?

DEMBEL, ты меня убиваешь! :)
Даже в ММВ это давно делают!
Я только со дня рождения вернулся, но вот тебе подсказка "за курсором" в прикреплении!
5 минут работы...
И без всяких плагинов.

Расслабились, что ли, все?
Надо бы порядок "в танковых частях" навести! :)

Прикрепления: Hint.rar(2Kb)


- А вам какую операционку поставить - экспи, семерку или висту?
- Это ты сейчас о чем?
- Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный?
- Ну, конечно, надежный!
- Вот, значит - экспи, без вопросов! Сейчас сделаем...

(Улицы разбитых фонарей, сезон 10, серия 17)

Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!


При модном втюхе модоподдающимся начинает нравиться
 
Сообщение
Quote (DEMBEL)
вы думали это все? ага, щаз... предлагаю провентилировать вопрос

Quote (DEMBEL)
но чтоб за курсором таскалось?

DEMBEL, ты меня убиваешь! :)
Даже в ММВ это давно делают!
Я только со дня рождения вернулся, но вот тебе подсказка "за курсором" в прикреплении!
5 минут работы...
И без всяких плагинов.

Расслабились, что ли, все?
Надо бы порядок "в танковых частях" навести! :)


Автор - Peter
Дата добавления - 24 Января 2010 в 23:27
DEMBELДата: Вт, 02 Февраля 2010, 22:14 | Сообщение # 15
Наш дизайнер
Quote (Peter)
Короче, если копирования ИЗОБРАЖЕНИЙ из буфера в файл формата ВМР устроит, то в этом плагине сделать можно. Иначе - другой плагин делать.

Нет, тогда лучше сделать другой специализированный плагин для буфера обмена, чтобы он все умел, и мониторить и картинки и прочее... А в этом плагине имеющейся функции монитора для буфера достаточно. А может быть, и ее вообще убрать в этот другой плагин.

Добавлено (02 Февраль 2010, 22:14)
---------------------------------------------

Quote (Peter)
И какие ещё возможно будут нужны варианты перекодировки строк?

да, кстати, тут одно время мучались откодировать ссылки в URL-encoded c кириллицей (с википедии например).


Как задавать вопросы

Win7x64 SP1 Neobook v5.70 (Trial)
WinXP SP3 Neobook v5.62
 
Сообщение
Quote (Peter)
Короче, если копирования ИЗОБРАЖЕНИЙ из буфера в файл формата ВМР устроит, то в этом плагине сделать можно. Иначе - другой плагин делать.

Нет, тогда лучше сделать другой специализированный плагин для буфера обмена, чтобы он все умел, и мониторить и картинки и прочее... А в этом плагине имеющейся функции монитора для буфера достаточно. А может быть, и ее вообще убрать в этот другой плагин.

Добавлено (02 Февраль 2010, 22:14)
---------------------------------------------

Quote (Peter)
И какие ещё возможно будут нужны варианты перекодировки строк?

да, кстати, тут одно время мучались откодировать ссылки в URL-encoded c кириллицей (с википедии например).

Автор - DEMBEL
Дата добавления - 02 Февраля 2010 в 22:14
PeterДата: Чт, 11 Февраля 2010, 04:07 | Сообщение # 16
Админ NeoBook
Quote (DEMBEL)
ну ладно, будем выделять лкм и щелкать пкм

Круто!
%)

Добавлено (11 Февраль 2010, 04:07)
---------------------------------------------
DEMBEL, меня сейчас осенило!
:D
Даже специально проснулся!
Оказывается решение для выделения правым кликом пункта в ListBox есть, и оно, как и всегда, ЭЛЕМЕНТАРНО простое!
Как мычание!
Например так:

Code
:OnMouseEvent
If "[zmMouseCode]" "=" "RBD"
   ClickMouse
EndIf
Return

РАБОТАЕТ!
:)
Можно не на "RBD", а на "RBU" - как будет угодно.
Конкретные "детали", надеюсь, додумаешь сам....


- А вам какую операционку поставить - экспи, семерку или висту?
- Это ты сейчас о чем?
- Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный?
- Ну, конечно, надежный!
- Вот, значит - экспи, без вопросов! Сейчас сделаем...

(Улицы разбитых фонарей, сезон 10, серия 17)

Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!


При модном втюхе модоподдающимся начинает нравиться
 
Сообщение
Quote (DEMBEL)
ну ладно, будем выделять лкм и щелкать пкм

Круто!
%)

Добавлено (11 Февраль 2010, 04:07)
---------------------------------------------
DEMBEL, меня сейчас осенило!
:D
Даже специально проснулся!
Оказывается решение для выделения правым кликом пункта в ListBox есть, и оно, как и всегда, ЭЛЕМЕНТАРНО простое!
Как мычание!
Например так:

Code
:OnMouseEvent
If "[zmMouseCode]" "=" "RBD"
   ClickMouse
EndIf
Return

РАБОТАЕТ!
:)
Можно не на "RBD", а на "RBU" - как будет угодно.
Конкретные "детали", надеюсь, додумаешь сам....

Автор - Peter
Дата добавления - 11 Февраля 2010 в 04:07
DEMBELДата: Чт, 11 Февраля 2010, 04:15 | Сообщение # 17
Наш дизайнер
ахахааха, точняк :)

Добавлено (11 Февраль 2010, 04:15)
---------------------------------------------
ну все правильно, на rbd повешать clickmouse - выделение пункта, а следом на rbu - появление контекстного меню. так собственно обычно и происходит всегда везде.


Как задавать вопросы

Win7x64 SP1 Neobook v5.70 (Trial)
WinXP SP3 Neobook v5.62
 
Сообщениеахахааха, точняк :)

Добавлено (11 Февраль 2010, 04:15)
---------------------------------------------
ну все правильно, на rbd повешать clickmouse - выделение пункта, а следом на rbu - появление контекстного меню. так собственно обычно и происходит всегда везде.


Автор - DEMBEL
Дата добавления - 11 Февраля 2010 в 04:15
DEMBELДата: Вс, 14 Февраля 2010, 08:27 | Сообщение # 18
Наш дизайнер
насчет пропадания картинки... дело у меня судя по всему в анимации. как только есть какой нибудь эффект - в окне пропадают нек-рые обьекты, например:
Code
CustomWindow "" "-10000" "-1" "Container7" "ToolWindow"
zmShowCustomWindow "Container7" "Hide"
zmSetCustomWindowPos "Container7" "50" "50" "" "" "" ""
zmAnimateCustomWindow "Container7" "Fade" "200" "True"



причем что касаемо этого окна, то пропавшие текстовые поля появляются если я переключусь на другое открытое приложение (например, браузер), а потом обратно на проект с окном. что касается фоновой картинки про которую я раньше говорил, то выключение анимации тоже помогает, а смена активного окна нет. Может эта информация будет полезна...
Прикрепления: 6649570.gif(3Kb) · 0497146.gif(4Kb)


Как задавать вопросы

Win7x64 SP1 Neobook v5.70 (Trial)
WinXP SP3 Neobook v5.62
 
Сообщениенасчет пропадания картинки... дело у меня судя по всему в анимации. как только есть какой нибудь эффект - в окне пропадают нек-рые обьекты, например:
Code
CustomWindow "" "-10000" "-1" "Container7" "ToolWindow"
zmShowCustomWindow "Container7" "Hide"
zmSetCustomWindowPos "Container7" "50" "50" "" "" "" ""
zmAnimateCustomWindow "Container7" "Fade" "200" "True"



причем что касаемо этого окна, то пропавшие текстовые поля появляются если я переключусь на другое открытое приложение (например, браузер), а потом обратно на проект с окном. что касается фоновой картинки про которую я раньше говорил, то выключение анимации тоже помогает, а смена активного окна нет. Может эта информация будет полезна...

Автор - DEMBEL
Дата добавления - 14 Февраля 2010 в 08:27
DEMBELДата: Пн, 15 Февраля 2010, 03:14 | Сообщение # 19
Наш дизайнер
Quote (Peter)
опция принудительной перерисовки окон.

кстате помогает, также как и ShowObject. Текстовые обьекты (п.205) появляются сразу после окончания анимации если дать эти команды, видимо эффект Fade им просто не по нутру, а вот графика (картинки, кнопки) нормально к нему относятся.
И вообще чтото текстовые обьекты (и браузер) анимацию как-то не переваривают, в конце нужно обычно обновить содержимое окна. ну это не страшно,хоть не пропадают насовсем :)


Как задавать вопросы

Win7x64 SP1 Neobook v5.70 (Trial)
WinXP SP3 Neobook v5.62
 
Сообщение
Quote (Peter)
опция принудительной перерисовки окон.

кстате помогает, также как и ShowObject. Текстовые обьекты (п.205) появляются сразу после окончания анимации если дать эти команды, видимо эффект Fade им просто не по нутру, а вот графика (картинки, кнопки) нормально к нему относятся.
И вообще чтото текстовые обьекты (и браузер) анимацию как-то не переваривают, в конце нужно обычно обновить содержимое окна. ну это не страшно,хоть не пропадают насовсем :)

Автор - DEMBEL
Дата добавления - 15 Февраля 2010 в 03:14
RezzoxeДата: Вт, 16 Февраля 2010, 06:37 | Сообщение # 20
Peter, отличный плагин! thumbs_up

особенно понравился мониторинг мыши, что ну очень
не хватало, например для того же самого текстового
объекта. Теперь если можно объясните как сделать
так чтобы мониторинг понимал что колёсик мыши я
прокрутил вверх а не вниз, там просто появляется
MWheel и всё, независимо от того прокурчен вверх
или вниз. Объясню для чего надо, просто я всё ещё
делаю тот большой проект, и местами просто необходим
скроллинг группы объектов в контейнере, у этой группы
размеры примерно 500x5000 пикселей, я пробовал имитировать
скролл с помощью трекбара, но это всё не то, ибо работает
не так как хочется, а с помощью колёсика мыши можно например
запрограммировать математическими командами на сколько пикселей
поднимать или опускать группу объектов, при каждой прокрутке. :)

ДОБАВЛЕНО...

не что-то я непонял как пользоваться например нажатием мыши,
но на определённых объектов, о чём я писал выше, надо допустим
чтобы при нажатии по текстовому объекту выполнялся заданный скрипт
dont_know

Сообщение отредактировано
Омар - Вт, 16 Февраля 2010, 07:07
 
СообщениеPeter, отличный плагин! thumbs_up

особенно понравился мониторинг мыши, что ну очень
не хватало, например для того же самого текстового
объекта. Теперь если можно объясните как сделать
так чтобы мониторинг понимал что колёсик мыши я
прокрутил вверх а не вниз, там просто появляется
MWheel и всё, независимо от того прокурчен вверх
или вниз. Объясню для чего надо, просто я всё ещё
делаю тот большой проект, и местами просто необходим
скроллинг группы объектов в контейнере, у этой группы
размеры примерно 500x5000 пикселей, я пробовал имитировать
скролл с помощью трекбара, но это всё не то, ибо работает
не так как хочется, а с помощью колёсика мыши можно например
запрограммировать математическими командами на сколько пикселей
поднимать или опускать группу объектов, при каждой прокрутке. :)

ДОБАВЛЕНО...

не что-то я непонял как пользоваться например нажатием мыши,
но на определённых объектов, о чём я писал выше, надо допустим
чтобы при нажатии по текстовому объекту выполнялся заданный скрипт
dont_know


Автор - Rezzoxe
Дата добавления - 16 Февраля 2010 в 06:37
DEMBELДата: Вт, 16 Февраля 2010, 09:54 | Сообщение # 21
Наш дизайнер
>:) >:)
Quote (Омар)
надо допустим чтобы при нажатии по текстовому объекту выполнялся заданный скрипт

дак ты вначале определи WinHandle (уникальный идентификатор обьекта) и сложи его в переменную,
GetObjectHandle "Text1" "[Handle]"
потом в процедуре сравни в условии, если мышь находится над обьектом с нужным Handle:
if "[zmMouseWindowHandle]" "=" "[Handle]"
то реагируем на нажатия
смотри как перехватываются хэндлы в демке, повози там мышкой по обьектам, если чтото не пашет, значит неверный хэндл

а если будешь тупить то дождешься я тебя забаню на сегодня нафиг :D


Как задавать вопросы

Win7x64 SP1 Neobook v5.70 (Trial)
WinXP SP3 Neobook v5.62
 
Сообщение>:) >:)
Quote (Омар)
надо допустим чтобы при нажатии по текстовому объекту выполнялся заданный скрипт

дак ты вначале определи WinHandle (уникальный идентификатор обьекта) и сложи его в переменную,
GetObjectHandle "Text1" "[Handle]"
потом в процедуре сравни в условии, если мышь находится над обьектом с нужным Handle:
if "[zmMouseWindowHandle]" "=" "[Handle]"
то реагируем на нажатия
смотри как перехватываются хэндлы в демке, повози там мышкой по обьектам, если чтото не пашет, значит неверный хэндл

а если будешь тупить то дождешься я тебя забаню на сегодня нафиг :D


Автор - DEMBEL
Дата добавления - 16 Февраля 2010 в 09:54
DEMBELДата: Вт, 16 Февраля 2010, 10:17 | Сообщение # 22
Наш дизайнер
Кстати я заметил что с текстовым обьектом какая-то ерунда происходит, плагин определяет хэндл для границы текст. обьекта и для внутренней его зоны разные. А необушная команда возвращает хэндл для границы обьекта. В результате при сравнении этих величин чтобы определить нахождение мыши над обьектом, будет детектироваться только положение мыши на границе обьекта, но не внутри него. Чтобы это увидеть, достаточно в демке провести мышкой над текстовым обьектом и посмотреть, что переменная [zmMouseWindowHandle] меняет свое значение дважды при пересечении границы.

Добавлено (16 Февраль 2010, 10:17)
---------------------------------------------
С другими обьектами вроде все нормально, [zmMouseWindowHandle] соответствует GetObjectHandle


Как задавать вопросы

Win7x64 SP1 Neobook v5.70 (Trial)
WinXP SP3 Neobook v5.62
 
СообщениеКстати я заметил что с текстовым обьектом какая-то ерунда происходит, плагин определяет хэндл для границы текст. обьекта и для внутренней его зоны разные. А необушная команда возвращает хэндл для границы обьекта. В результате при сравнении этих величин чтобы определить нахождение мыши над обьектом, будет детектироваться только положение мыши на границе обьекта, но не внутри него. Чтобы это увидеть, достаточно в демке провести мышкой над текстовым обьектом и посмотреть, что переменная [zmMouseWindowHandle] меняет свое значение дважды при пересечении границы.

Добавлено (16 Февраль 2010, 10:17)
---------------------------------------------
С другими обьектами вроде все нормально, [zmMouseWindowHandle] соответствует GetObjectHandle


Автор - DEMBEL
Дата добавления - 16 Февраля 2010 в 10:17
PeterДата: Вт, 16 Февраля 2010, 17:19 | Сообщение # 23
Админ NeoBook
Quote (Alex3A)
передал-событие прошло на форму,
не передал нет.

А что, мысль хорошая.
Спасибо!
Только как решить что передавать, а что нет?
Получается "методом тыка" отлавливать нужное мне сообщение?
Ведь я не знаю на что именно реагирует необушное окно, чтобы перерисоваться.
На стандартные Invalidate, Redraw, и проч., отправленные прямо и только ему, не откликается.
Надо сориентироваться, я помозгую ещё...

Quote (Омар)
отличный плагин

Спасибо, но плагин ещё далёк от моего "представления о прекрасном", потому и считается пока тестовым.
Quote (DEMBEL)
Кстати я заметил что с текстовым обьектом какая-то ерунда происходит,

Да, есть такое дело.
Необушный текстовой объект, похоже, составная "штука". Разработчики NB считают его дескриптором рамку, а винда (а именно виндовская Api-функция определяет в плагине дескрипторы) - то, что "внутри" рамки, т.к. "видит" не один, а два элемента...
:)
Но , в любом случае, использование декскрипторов не есть надежная штука, т.к. нужно учитывать тот факт, что при переходах со старницы на страницу и обратно, а также при "выдергивании" объектов со страницы (например для отображения во внешнем окне) и обратно, дескрипторы объектов будут постоянно меняться (что вполне логично), и уследить за всем этим может оказаться неудобным или даже невозможным.
Честно говоря, мне вообще непонятно, зачем разработчики NB сделали команду GetObjectHandle, т.к. для проекта NB дескрипторы нафиг не нужны, а в плагинах они определяются иначе.

Лично мне более симпатичен другой прием, т.к. он более надежен и прост - использовать не дескрипторы объектов, а их имена.
В NeoBook есть такая переменная [Self] ... ;)
Я уже упоминал об этом методе, и в этой же теме, если не ошибаюсь.

Впрочем, если больше нравится применение дескрипторов, то почему бы и нет.
А можно и комбинировать...


- А вам какую операционку поставить - экспи, семерку или висту?
- Это ты сейчас о чем?
- Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный?
- Ну, конечно, надежный!
- Вот, значит - экспи, без вопросов! Сейчас сделаем...

(Улицы разбитых фонарей, сезон 10, серия 17)

Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!


При модном втюхе модоподдающимся начинает нравиться
 
Сообщение
Quote (Alex3A)
передал-событие прошло на форму,
не передал нет.

А что, мысль хорошая.
Спасибо!
Только как решить что передавать, а что нет?
Получается "методом тыка" отлавливать нужное мне сообщение?
Ведь я не знаю на что именно реагирует необушное окно, чтобы перерисоваться.
На стандартные Invalidate, Redraw, и проч., отправленные прямо и только ему, не откликается.
Надо сориентироваться, я помозгую ещё...

Quote (Омар)
отличный плагин

Спасибо, но плагин ещё далёк от моего "представления о прекрасном", потому и считается пока тестовым.
Quote (DEMBEL)
Кстати я заметил что с текстовым обьектом какая-то ерунда происходит,

Да, есть такое дело.
Необушный текстовой объект, похоже, составная "штука". Разработчики NB считают его дескриптором рамку, а винда (а именно виндовская Api-функция определяет в плагине дескрипторы) - то, что "внутри" рамки, т.к. "видит" не один, а два элемента...
:)
Но , в любом случае, использование декскрипторов не есть надежная штука, т.к. нужно учитывать тот факт, что при переходах со старницы на страницу и обратно, а также при "выдергивании" объектов со страницы (например для отображения во внешнем окне) и обратно, дескрипторы объектов будут постоянно меняться (что вполне логично), и уследить за всем этим может оказаться неудобным или даже невозможным.
Честно говоря, мне вообще непонятно, зачем разработчики NB сделали команду GetObjectHandle, т.к. для проекта NB дескрипторы нафиг не нужны, а в плагинах они определяются иначе.

Лично мне более симпатичен другой прием, т.к. он более надежен и прост - использовать не дескрипторы объектов, а их имена.
В NeoBook есть такая переменная [Self] ... ;)
Я уже упоминал об этом методе, и в этой же теме, если не ошибаюсь.

Впрочем, если больше нравится применение дескрипторов, то почему бы и нет.
А можно и комбинировать...


Автор - Peter
Дата добавления - 16 Февраля 2010 в 17:19
DEMBELДата: Вс, 21 Февраля 2010, 16:26 | Сообщение # 24
Наш дизайнер
вопрос - как получить заголовок текущего открытого окна, в котором щелкнули мышью? команда zmGetWindowTitle хочет handle окна, а получить его можно только монитором мыши, пишу
zmGetWindowTitle "[zmMouseWindowHandle]" "[t]" "[title]"
но не берет, т.к. при возюкании мышью по окну хендл меняется в завис-ти от области окна, берет только при непосредственном наведении мыши на заголовок.
Собственно, переменная [zmMouseWindowTitle] ведет себя аналогично, заголовок окна кладется туда только когда мышью на него наступишь, и видимо по той же причине.
так как взять заголовок-то текущий плагином?


Как задавать вопросы

Win7x64 SP1 Neobook v5.70 (Trial)
WinXP SP3 Neobook v5.62
 
Сообщениевопрос - как получить заголовок текущего открытого окна, в котором щелкнули мышью? команда zmGetWindowTitle хочет handle окна, а получить его можно только монитором мыши, пишу
zmGetWindowTitle "[zmMouseWindowHandle]" "[t]" "[title]"
но не берет, т.к. при возюкании мышью по окну хендл меняется в завис-ти от области окна, берет только при непосредственном наведении мыши на заголовок.
Собственно, переменная [zmMouseWindowTitle] ведет себя аналогично, заголовок окна кладется туда только когда мышью на него наступишь, и видимо по той же причине.
так как взять заголовок-то текущий плагином?

Автор - DEMBEL
Дата добавления - 21 Февраля 2010 в 16:26
DEMBELДата: Вс, 21 Февраля 2010, 17:45 | Сообщение # 25
Наш дизайнер


Как задавать вопросы

Win7x64 SP1 Neobook v5.70 (Trial)
WinXP SP3 Neobook v5.62
 
Сообщение

Автор - DEMBEL
Дата добавления - 21 Февраля 2010 в 17:45
DEMBELДата: Вс, 21 Февраля 2010, 18:06 | Сообщение # 26
Наш дизайнер
zmConfigMouseMonitor "GetInfo" "True" это я включил
Quote (Peter)
дескриптор и заголовок окна, находящегося в данный момент под курсором.

я ж говорю что не так, неправда что под курсором, под курсор шняга всякая попадает
Quote (DEMBEL)
при возюкании мышью по окну хендл меняется в завис-ти от области окна

Quote (DEMBEL)
заголовок окна кладется туда только когда мышью на него наступишь

Добавлено (21 Февраль 2010, 18:06)
---------------------------------------------
похожая история была и с определением хендла текстового обьекта, когда в плаге ловился не обьект а его граница, а внутренняя часть была с другим хендлом. Тут тоже хендл меняется при перемещении по элементам окна, а заголовок берется только от того хендла, который появляется когда мышь непосредственно на заголовке. Мне кажется, заголовок в переменной [zmMouseWindowTitle] тоже по хендлу определяется, поэтому он не содержит никакой информации пока не наведешь мышь на заголовок.


Как задавать вопросы

Win7x64 SP1 Neobook v5.70 (Trial)
WinXP SP3 Neobook v5.62
 
СообщениеzmConfigMouseMonitor "GetInfo" "True" это я включил
Quote (Peter)
дескриптор и заголовок окна, находящегося в данный момент под курсором.

я ж говорю что не так, неправда что под курсором, под курсор шняга всякая попадает
Quote (DEMBEL)
при возюкании мышью по окну хендл меняется в завис-ти от области окна

Quote (DEMBEL)
заголовок окна кладется туда только когда мышью на него наступишь

Добавлено (21 Февраль 2010, 18:06)
---------------------------------------------
похожая история была и с определением хендла текстового обьекта, когда в плаге ловился не обьект а его граница, а внутренняя часть была с другим хендлом. Тут тоже хендл меняется при перемещении по элементам окна, а заголовок берется только от того хендла, который появляется когда мышь непосредственно на заголовке. Мне кажется, заголовок в переменной [zmMouseWindowTitle] тоже по хендлу определяется, поэтому он не содержит никакой информации пока не наведешь мышь на заголовок.


Автор - DEMBEL
Дата добавления - 21 Февраля 2010 в 18:06
PeterДата: Вс, 21 Февраля 2010, 18:27 | Сообщение # 27
Админ NeoBook
Quote (DEMBEL)
под курсор шняга всякая попадает

В этой "шняге", между прочим, содержаться мгновенные дескрипторы оконных элементов под курсором, которые, тоже кстати, кое-кто с воодушевлением использует для идентификации объектов!
:D
Quote (DEMBEL)
заголовок окна кладется туда только когда мышью на него наступишь

Кстати, я обнаружил сейчас один баг в плагине, в мониторе мыши!
Не по этому конкретно поводу, а чуть по-другому.
Очень странно, надо разбираться...
И почему находить баги должен только я один?

Добавлено (21 Февраль 2010, 18:19)
---------------------------------------------

Quote (DEMBEL)
похожая история была и с определением хендла текстового обьекта, когда в плаге ловился не обьект а его граница, а внутренняя часть была с другим хендлом.

Я уже отвечал на эти дела!
Quote (DEMBEL)
Мне кажется, заголовок в переменной [zmMouseWindowTitle] тоже по хендлу определяется, поэтому он не содержит никакой информации пока не наведешь мышь на заголовок.

Естесственно!
В этом и суть!
Пока не наведешь мышь на оконный элемент (окно или кнопку) не получищь дескриптор, а пока не будет дескриптора, не будет и названия заголовка ОКНА, если оный вообще присутствует.
По-моему, логика работы всей этой фигни вполне прозрачна и понятна!
:)


- А вам какую операционку поставить - экспи, семерку или висту?
- Это ты сейчас о чем?
- Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный?
- Ну, конечно, надежный!
- Вот, значит - экспи, без вопросов! Сейчас сделаем...

(Улицы разбитых фонарей, сезон 10, серия 17)

Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!


При модном втюхе модоподдающимся начинает нравиться
 
Сообщение
Quote (DEMBEL)
под курсор шняга всякая попадает

В этой "шняге", между прочим, содержаться мгновенные дескрипторы оконных элементов под курсором, которые, тоже кстати, кое-кто с воодушевлением использует для идентификации объектов!
:D
Quote (DEMBEL)
заголовок окна кладется туда только когда мышью на него наступишь

Кстати, я обнаружил сейчас один баг в плагине, в мониторе мыши!
Не по этому конкретно поводу, а чуть по-другому.
Очень странно, надо разбираться...
И почему находить баги должен только я один?

Добавлено (21 Февраль 2010, 18:19)
---------------------------------------------

Quote (DEMBEL)
похожая история была и с определением хендла текстового обьекта, когда в плаге ловился не обьект а его граница, а внутренняя часть была с другим хендлом.

Я уже отвечал на эти дела!
Quote (DEMBEL)
Мне кажется, заголовок в переменной [zmMouseWindowTitle] тоже по хендлу определяется, поэтому он не содержит никакой информации пока не наведешь мышь на заголовок.

Естесственно!
В этом и суть!
Пока не наведешь мышь на оконный элемент (окно или кнопку) не получищь дескриптор, а пока не будет дескриптора, не будет и названия заголовка ОКНА, если оный вообще присутствует.
По-моему, логика работы всей этой фигни вполне прозрачна и понятна!
:)

Автор - Peter
Дата добавления - 21 Февраля 2010 в 18:27
DEMBELДата: Вс, 21 Февраля 2010, 18:43 | Сообщение # 28
Наш дизайнер
да логика понятна, и элементы идентифицировать надо, ну их по хендлам можно идентифицировать, а вот возврат заголовка окна в данных условиях сомнителен. он чаще может понадобиться без всякого наведения на него, а лишь по факту присутствия мыши в пределах текущего окна.

Как задавать вопросы

Win7x64 SP1 Neobook v5.70 (Trial)
WinXP SP3 Neobook v5.62
 
Сообщениеда логика понятна, и элементы идентифицировать надо, ну их по хендлам можно идентифицировать, а вот возврат заголовка окна в данных условиях сомнителен. он чаще может понадобиться без всякого наведения на него, а лишь по факту присутствия мыши в пределах текущего окна.

Автор - DEMBEL
Дата добавления - 21 Февраля 2010 в 18:43
GorezcaidДата: Пн, 22 Февраля 2010, 13:15 | Сообщение # 29
Ветеран форума
Quote (DEMBEL)
Создание, или копирование объекта, возможно сделать?

Quote (mishem)
Допустим нужно создать кнопку уже в скомпилированном проекте. Ну к примеру что б запускала какую ни будь программу.

Я думаю,что возможно,но надо ли это делать?
Потому,что бы это зделать в программу требуется ввести некоторое количество этих объектов в скрытом виде(за рамками приложения),а потом показывать их с помощью команды,в которой будет присвоено длинное имя(для каждого объекта,что бы не конфликтовать с другими объектами[например:PushButton1221545454854845445555]).(нельзя держать два объекта с одинаковыми именами)

Лучше самому создать и скрыть объекты,и показывать их по номеру(если много объектов) или по имени в нужый момент,и не будет конфликтовать система,и так будет легче сделать.

Quote (mishem)
Допустим нужно создать кнопку уже в скомпилированном проекте. Ну к примеру что б запускала какую ни будь программу.

И к примеру:Создашь кнопку,после надо задать ей "кучу" парамеров (для каждого объекта свои),СЛИШКОМ ОБЪЁМНАЯ КОМАНДА ПОЛУЧИТСЯ.


Win7 Pro SP1 x64; NBv5.5.4rus,v5.6.2rus, v5.7.0en, Opera
 
Сообщение
Quote (DEMBEL)
Создание, или копирование объекта, возможно сделать?

Quote (mishem)
Допустим нужно создать кнопку уже в скомпилированном проекте. Ну к примеру что б запускала какую ни будь программу.

Я думаю,что возможно,но надо ли это делать?
Потому,что бы это зделать в программу требуется ввести некоторое количество этих объектов в скрытом виде(за рамками приложения),а потом показывать их с помощью команды,в которой будет присвоено длинное имя(для каждого объекта,что бы не конфликтовать с другими объектами[например:PushButton1221545454854845445555]).(нельзя держать два объекта с одинаковыми именами)

Лучше самому создать и скрыть объекты,и показывать их по номеру(если много объектов) или по имени в нужый момент,и не будет конфликтовать система,и так будет легче сделать.

Quote (mishem)
Допустим нужно создать кнопку уже в скомпилированном проекте. Ну к примеру что б запускала какую ни будь программу.

И к примеру:Создашь кнопку,после надо задать ей "кучу" парамеров (для каждого объекта свои),СЛИШКОМ ОБЪЁМНАЯ КОМАНДА ПОЛУЧИТСЯ.

Автор - Gorezcaid
Дата добавления - 22 Февраля 2010 в 13:15
mishemДата: Пн, 22 Февраля 2010, 13:25 | Сообщение # 30
Эксперт форума
Quote (Gorezcaid)
требуется ввести некоторое количество этих объектов в скрытом виде(за рамками приложения)

Вот именно этого и хочется избежать. Допустим создал одну кнопку, и на основе ее делать дубликаты присваивая к имени номер или свое название. PushButton1, PushButton2 и т.д. или NeoBook, Internet Explorer и т.д.
Quote (Gorezcaid)
И к примеру:Создашь кнопку,после надо задать ей "кучу" парамеров

Для этого делаешь диалоговое окно . Где будет присваиваться своя переменная каждому объекту.


Не хочешь читать хелп?

Если хелп и форум не помогли, тогда все ответы здесь



Если вы думаете, что сможете — вы сможете, если думаете, что нет — вы правы.
 
Сообщение
Quote (Gorezcaid)
требуется ввести некоторое количество этих объектов в скрытом виде(за рамками приложения)

Вот именно этого и хочется избежать. Допустим создал одну кнопку, и на основе ее делать дубликаты присваивая к имени номер или свое название. PushButton1, PushButton2 и т.д. или NeoBook, Internet Explorer и т.д.
Quote (Gorezcaid)
И к примеру:Создашь кнопку,после надо задать ей "кучу" парамеров

Для этого делаешь диалоговое окно . Где будет присваиваться своя переменная каждому объекту.

Автор - mishem
Дата добавления - 22 Февраля 2010 в 13:25
Форум NeoBook » Всё о программе NeoBook » Плагины для NeoBook » Плагин zmFunctions (Некоторые функции для Neobook)
Страница 1 из 471234647»
Поиск: