Ru-Board.club
← Вернуться в раздел «Программы»

» Autoplay Media Studio

Автор: GOOSE
Дата сообщения: 04.10.2006 15:24
Dgikar

Цитата:
1. Что имеется ввиду под "ItemData"?
2. У меня есть несколько пунктов меню, как мне сделать чтобы, при выборе одного из пунктов, в Paragraph выводилась вспомогательная информация о том, или ином файле? Нужно использовать if ... then ... elseif ... then ... end или как?


Тут все просто.
1. Входишь в свойства пункта\подпункта меню (по умолчанию они обзываются Item 1\Sub Item 1)
2. Открывается окошко редактирования свойств этого пункта или подпункта (смотря что ты выбрал)
3. Там есть два окошка, в которые ты можешь вставить все, что твоей душе угодно :
- верхнее Item text - это "название" пункта дерева, т.е. то, что увидит пользователь
- нижнее Item data - тут ты можешь разместить путь к файлу описания например.
4. Пользователь, нажав пункт меню (т.е. на Item text), загрузит в итоге файл, указанный в скрытом поле Item data...

Теперь прояснилось?

Добавлено:
Dilsh, ну а по твоему вопросу ответ от tavria2 исчерпывающий



Добавлено:
ЗЫ О, блин, опередили
Автор: tavria2
Дата сообщения: 04.10.2006 15:34
GOOSE
Цитата:
О, блин, опередили
Я больше так не буду
Автор: Dgikar
Дата сообщения: 04.10.2006 17:12
GOOSE & tavria2

Цитата:
Цитата:1. Что имеется ввиду под "ItemData"?

В каждом пункте дерева есть св-ва: "Текст пункта" и "Данные пункта". "Текст пункта" - используется для вывода на экран наименования пункта, "Данные пункта" - здесь хранятся ваши данные привязаные к текущему пункту дерева, но не отображаются в нем. В данных можно хранить например: пути к файлам, подсказки и т.д.
ItemData и есть "Данные пункта".

Цитата:2. У меня есть несколько пунктов меню, как мне сделать чтобы, при выборе одного из пунктов, в Paragraph выводилась вспомогательная информация о том, или ином файле?

Занеси эту вспомогательную информацию в "Данные пункта", и при выборе пункта выводи ее в Paragraph.


Цитата:
Цитата:1. Что имеется ввиду под "ItemData"?
2. У меня есть несколько пунктов меню, как мне сделать чтобы, при выборе одного из пунктов, в Paragraph выводилась вспомогательная информация о том, или ином файле? Нужно использовать if ... then ... elseif ... then ... end или как?


Тут все просто.
1. Входишь в свойства пункта\подпункта меню (по умолчанию они обзываются Item 1\Sub Item 1)
2. Открывается окошко редактирования свойств этого пункта или подпункта (смотря что ты выбрал)
3. Там есть два окошка, в которые ты можешь вставить все, что твоей душе угодно :
- верхнее Item text - это "название" пункта дерева, т.е. то, что увидит пользователь
- нижнее Item data - тут ты можешь разместить путь к файлу описания например.
4. Пользователь, нажав пункт меню (т.е. на Item text), загрузит в итоге файл, указанный в скрытом поле Item data...

Теперь прояснилось?


Немного да, но как мне "сказать" о том, что инфу из Item text "прикрутить" именно к этому Paragraph?

Вот что у меня получается:
В свойствах Tree1 (я дал ему имя MS) в строку "Данные пункта", я вношу текст: "Мой текст - 1", в следующий пунт меню, вношу текст: "Текст - 2" и т.д.

Перехожу в сценарии...

Во вкладке "On Select" пишу следующий код (не уверен, что он правильный!!!)

-- Получаем значение node
tblTreeProps = Tree.GetNode("MS", e_NodeIndex)
-- Если юзер сделал 2-й клик, то делаем следующее
if tblTreeProps then
    -- Получаю значение поля Item Date для выдкленного node
    Paragraph1 = tblTreeProps.Data;
end

Но, к сожалению ничего не происходит
Автор: Dilsh
Дата сообщения: 04.10.2006 17:44
tavria2


Цитата:
Вот исправленный код:
Код:display=System.GetDisplayInfo();
Window_Size=Window.GetSize(Application.GetWndHandle());
Window.SetPos(Application.GetWndHandle(), display.Width/2-Window_Size.Width/2, display.Height/2-Window_Size.Height/2);


Действительно, при открытии проекта на компе с другим монитором окно ушло с центра (с моим кодом).
Но при использовании твоего кода окно находится также в левом верхнем углу как и было изначально.
Повторюсь ещё раз, что код ввожу в в закладке ON CLOSE окна с видеообъектом.
Что не так делаю?
Автор: tavria2
Дата сообщения: 04.10.2006 17:48
Dgikar

Код: nIndex = Tree.GetSelectedNode("MS");    -- индекс выбранной ноды
tTreeProp = Tree.GetNode("MS", nIndex);    -- таблица св-ств указаной ноды
Paragraph.SetText("Paragraph1", tTreeProp.Data);    -- выводим текст в параграф
Автор: Dgikar
Дата сообщения: 04.10.2006 18:18
tavria2

Цитата:
Код:
nIndex = Tree.GetSelectedNode("MS"); -- индекс выбранной ноды
tTreeProp = Tree.GetNode("MS", nIndex); -- таблица св-ств указаной ноды
Paragraph.SetText("Paragraph1", tTreeProp.Data); -- выводим текст в параграф


Да, ОГРОМНОЕ спасибо, работает


Добавлено:
tavria2
А я могу как-то кодом "прикрутить" текст к Item Data?

И еще вопрос, если я внесу в свойства Tree1 (я дал ему имя MS) в строку "Данные пункта", текст, то каким образом я укажу что нужно запустить тот или иной файл?

Еще раз благодарю за Ваши ответы
Автор: GOOSE
Дата сообщения: 04.10.2006 19:12
Dilsh
Надо пример смотреть, из головы я не помню, что и как там реализовано...

Цитата:
код ввожу в в закладке ON CLOSE окна с видеообъектом

Стоп. Тебе же нужно отпозиционировать другое окно! При чем тут закрываемое окно?
Попробуй скрипт прописать на предпоказ того окна, которое собираешься позиционировать.
Dgikar
Ничего, что я не tavria2


Цитата:
А я могу как-то кодом "прикрутить" текст к Item Data?

Я же писал, вставь туда путь к текстовому файлу с описанием, его и выводи в свой параграф...
Или я не понимаю вопроса?
Автор: Dgikar
Дата сообщения: 04.10.2006 19:22
GOOSE
Не, ничего, главное, чтобы я разобрался...

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

Добавлено:
GOOSE
Да и как правильно "прикрутить" туда файл, можешь показать на примере?
Автор: tavria2
Дата сообщения: 04.10.2006 20:58
Dilsh

Цитата:
Но при использовании твоего кода окно находится также в левом верхнем углу как и было изначально.
Повторюсь ещё раз, что код ввожу в в закладке ON CLOSE окна с видеообъектом.
Что не так делаю?

Скачал я примерчик, мда... Автор проекта любит создавать себе трудности и потом с ними бороться. Пришлось проект немного модифицировать.
win_full_win_1.apz (1.2 Мб).
Автор: GOOSE
Дата сообщения: 04.10.2006 21:14
Dgikar

Цитата:
Да и как правильно "прикрутить" туда файл, можешь показать на примере?

Ну и я пару примерчиков подкину
File_Browser.cab (11 кб).
Автор: Dgikar
Дата сообщения: 04.10.2006 22:37
GOOSE

Цитата:
Ну и я пару примерчиков подкину
File_Browser.apz (11 кб).

Simple File Browser 6[1].0.0.0.apz (11 кб).


К сожалению ни тот, ни другой файл не открылся...
Автор: GOOSE
Дата сообщения: 04.10.2006 22:47
Dgikar
Да... Что то сервак не хочет правильно заливать файлы с таким расширением
Перезалил в архивах, проверил, работает
Автор: tavria2
Дата сообщения: 04.10.2006 22:50
Dgikar

Цитата:
К сожалению ни тот, ни другой файл не открылся...

Только что скачал оба примера. File_Browser.apz - нормально открылся, а вот Simple File Browser 6[1].0.0.0.apz - все-таки битый

Добавлено:
GOOSE
Угу, с cab-ми все ок.
Автор: Dgikar
Дата сообщения: 05.10.2006 00:06
GOOSE & tavria2


Цитата:
Ну и я пару примерчиков подкину
File_Browser.cab (11 кб).

Simple File Browser 6[1].0.0.0.cab (11 кб).

PS Только я их не модифицировал, но мне кажется, что это именно то, что ты пытаешься сделать (динамическое формирование дерева, вывод текстового описания в объект Paragraph, запуск файлов)



Цитата:
Да... Что то сервак не хочет правильно заливать файлы с таким расширением
Перезалил в архивах, проверил, работает


Спасибо вам за помощь, эти файлы дают мне много инфы, поковыряюсь с ними, если что-то не пойму, то обращусь снова, если вам конечно не трудно будет ответить
Автор: Dilsh
Дата сообщения: 05.10.2006 11:49
tavria2

Цитата:
Скачал я примерчик, мда... Автор проекта любит создавать себе трудности и потом с ними бороться. Пришлось проект немного модифицировать.


Огромное спасибо! Всё получилось!


Автор: Labus
Дата сообщения: 05.10.2006 13:51
Братцы, скажите пожалуйста, а как реализовать возможность просмотра небольших фрагментов фильма (30 сек), при наведении курсора на кнопку с названием картины?
Интересует с помощью какой программы можно захватить небольшой эпизод и нужно ли его (файл *avi) потом конвертировать в какой-либо другой формат?
Автор: tavria2
Дата сообщения: 05.10.2006 17:53
Labus

Цитата:
Братцы, скажите пожалуйста, а как реализовать возможность просмотра небольших фрагментов фильма (30 сек), при наведении курсора на кнопку с названием картины?

На сколько я понял тебе нужен предпросмотр. Если да, то зачем привязываться ко времени. Можно сделать при наведении мышки показ видео с определенной позиции, а при съезде - остановить. Например:

On EnterVideo.Load("Video1", "AutoPlay\\Videos\\Мой фильм.avi", false, false); -- загрузить видео
Video.Seek("Video1", 2, 60); -- позиция для показа с начала, пропустив 60 сек.
Video.Play("Video1"); -- показать видео
Автор: Dgikar
Дата сообщения: 05.10.2006 19:23
GOOSE & tavria2

Цитата:
Спасибо вам за помощь, эти файлы дают мне много инфы, поковыряюсь с ними, если что-то не пойму, то обращусь снова, если вам конечно не трудно будет ответить


Уважаемые, ОГРОМНОЕ спасибо, Ваша помощь была неоценима, правда, я проанализировав те файлы, что скинул GOOSE и пошел (как всегда) своим путем, правда строк получилось до чертиков, но..., работает!!!

Единственно, возник новый маленький вопросик:

Все тот же Tree, у меня есть:

ItemData 1
|
|
|-------ItemData 1.1
| |
| |------------ItemData 1.1.1
| |
| |------------ItemData 1.1.2
| |
| и т. д...
|
|-------ItemData 1.2
|
и т. д...

На ItemData 1.1 "прикручено": виводить инфу в Paragraph + в Label - это в свойстве On Select, а в свойстве On Double-Click? все тож самое и + запускает файл.

Проблема в том, что когда я кликаю (дважды) на ItemData 1.1, инфа, которая была в Paragraph и Label исчезает как буд-то я указал Label.SetVisible("Doc2", false); (но этого нет), а сам Tree сворачивается, т.е. ItemData 1.1.1 и ItemDate 1.1.2 не видно...

Как мне "сказать" Tree, чтобы он не сворачивался при двойном клике + не "убирал" инфу из Paragraph и Lable?

Paragraph и Labele явно указанны как Label.SetVisible("Doc2", True); и Paragraph.SetVisible("Paragraph1", true);

И еще, как мне сделать на Tree (когда наводишь на ту или иную ItemData мышку, то ItemData подсвечивалась бы другим цветом, при этом указатель миши менялся со стандартной стрелки на руку?

Зараннее благодарю
Автор: Labus
Дата сообщения: 05.10.2006 19:27
tavria2 ну ты блин и Энштейн , круто!!! Если я тебя правильно понял, то необязательно что-то химичить типа, вырезать фрагмент из фильма, потом его как-то "прикручивать" к кнопке с целью поверхностного ознакомления с картиной.Все выше приведённые тобой действия делают тоже самое, только с уже внедрённым фильмом в тело моего проекта, соображалка у меня работает ?Спасибо.


Автор: tavria2
Дата сообщения: 05.10.2006 21:20
Dgikar

Цитата:
На ItemData 1.1 "прикручено": выводить инфу в Paragraph + в Label - это в свойстве On Select, а в свойстве On Double-Click? все тож самое и + запускает файл.
"все тож самое" в On Double-Click не нужно, т.к. оно в любом случае отработает из On Select. Не понятно где хранится инфа, а где имя файла... Выложи лучше свой проект, будет проще разобраться.

Цитата:
Проблема в том, что когда я кликаю (дважды) на ItemData 1.1, инфа, которая была в Paragraph и Label исчезает как буд-то я указал Label.SetVisible("Doc2", false); (но этого нет), а сам Tree сворачивается, т.е. ItemData 1.1.1 и ItemDate 1.1.2 не видно...
Ничего исчезать не должно, ты где-то перестарался То что сворачивается родительская нода - это стандартное поведение для дерева.

Цитата:
Как мне "сказать" Tree, чтобы он не сворачивался при двойном клике + не "убирал" инфу из Paragraph и Lable?
Вообще-то, двойной клик на родительской ноде, не используют для выполнения, но если сильно хочется, то можно

On Double Click

Код: -- получаем таблицу св-ств для выбранной ноды
tNodeProperties = Tree.GetNode("Tree1", e_NodeIndex);
if (tNodeProperties) then
-- развернуть (по логике должно быть true, но уменя почему-то работает инверсно)
tNodeProperties.Expanded = false;
-- устанавливаем новое св-во для текущей ноды
Tree.SetNode("Tree1", e_NodeIndex, tNodeProperties);
-- получаем данные ноды
ItemData = tNodeProperties.Data;
Paragraph.SetText("Paragraph1", ItemData);
File.Run(ItemData, "", "", SW_SHOWNORMAL, false);
end
Автор: GOOSE
Дата сообщения: 05.10.2006 22:14
Dgikar

Цитата:
Tree сворачивается, т.е. ItemData 1.1.1 и ItemDate 1.1.2 не видно...

Стоит поиграться с действием Tree.EnsureVisible.
Сам я не делал, поэтому больше сказать не могу...


Цитата:
при этом указатель миши менялся со стандартной стрелки на руку

Да, стандартными действиями - никак.
Для изменения курсора нужно использовать виндовую библиотеку User32.dll
Автор: tavria2
Дата сообщения: 05.10.2006 22:37
GOOSE

Цитата:
Для изменения курсора нужно использовать виндовую библиотеку User32.dll
Да, но курсор поменяется, для всего объекта дерева, а нужно менять тогда, когда мышь находится над нодой.
Автор: Dgikar
Дата сообщения: 05.10.2006 22:58
GOOSE & tavria2

Понял, спасибо.


Цитата:
... Выложи лучше свой проект, будет проще разобраться.


По поводу проекта, то, как его юда "прикрутить?"?
Автор: tavria2
Дата сообщения: 05.10.2006 23:04
Dgikar

Цитата:
По поводу проекта, то, как его юда "прикрутить?"?

Сюда ни как, можешь кинуть сюда:
http://rapidshare.de
http://hyperupload.com
http://www.megaupload.com/ru
http://shareua.com/upload
Автор: GOOSE
Дата сообщения: 05.10.2006 23:07
tavria2

Цитата:
Да, но курсор поменяется, для всего объекта дерева, а нужно менять тогда, когда мышь находится над нодой.

Можно ведь попробовать и над нодой... Только плохо все это И тормозить будет, да и не принято вмешиваться в работу системы по пустякам Как говорится: "Не лезь в двигатель - не мешай ему работать" (С)

Добавлено:
Кстати, мне тут стало интересно, я поискал идентификаторы курсоров.
"Руки" там нет....
Имена Системных Курсоров                Идентификаторы
Автор: tavria2
Дата сообщения: 05.10.2006 23:43
GOOSE

Цитата:
Кстати, мне тут стало интересно, я поискал идентификаторы курсоров.
"Руки" там нет....

См. сообщение от GOOSE
Автор: GOOSE
Дата сообщения: 06.10.2006 00:49
tavria2
Подколол!
Я последние три строчки не увидел
Автор: tavria2
Дата сообщения: 06.10.2006 12:40
GOOSE

Код: -- Load hourglasscursor
hCursor = DLL.CallFunction("user32.dll", "LoadCursorA", "0, 32514", DLL_RETURN_TYPE_LONG, DLL_CALL_STDCALL);

-- Display loaded cursor
retVal = DLL.CallFunction("user32.dll", "SetCursor", hCursor, DLL_RETURN_TYPE_LONG, DLL_CALL_STDCALL);
Автор: Dgikar
Дата сообщения: 06.10.2006 15:40
tavria2

Цитата:
Цитата:По поводу проекта, то, как его юда "прикрутить?"?

Сюда ни как, можешь кинуть сюда:
http://rapidshare.de
http://hyperupload.com
http://www.megaupload.com/ru
http://shareua.com/upload



Я лучше код выложу, ток чур громко не смеяться. Договорились?
Автор: tavria2
Дата сообщения: 07.10.2006 21:06
Dgikar
Договорились.

Страницы: 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667

Предыдущая тема: Matrix Screensaver


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.