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

» Autoplay Media Studio

Автор: bigbrain
Дата сообщения: 26.06.2010 16:18
Есть какой-нибудь мануал о том, как использовать внешние библиотеки. Понятно, что лучше, если они написаны на С или С++ и есть DLL.CallFunction, а вот как узнать непосредственно названия функций DLL и ее параметры.
Автор: andreytmn
Дата сообщения: 26.06.2010 16:23
bigbrain

Цитата:
Выложите, пожалуйста, и саму библиотеку

Я на форумах не очень общаюсь это в первый раз и как прикрепить файл не могу найти, в кодах вроде бы этого нет. могу прислать на мыло.

Добавлено:
bigbrain
,
Цитата:
проще написать функцию resizing, которая позволит отображать Ваш проект на любом мониторе.

Я смотрел подобные примеры на страницах форума. но там говорилось о том, что придется изменять все объекты. если вы знаете другой вариант пожалуйста поделитесь.
Автор: bigbrain
Дата сообщения: 26.06.2010 16:59
А другого варианта нет. В примерах и есть функция, которая изменяет размеры всех объектов.
Алгоритм там такой.
Получаем список всех объектов , их координаты и размеры, и еще так я понимаю, расстояние объекта от края окна в процентах, чтобы потом так же поставить масштабированные объекты.
Получаем текущее разрешение и размер окна программы по умолчанию.
При разворачивании на весь экран функция пересчитывает размеры объектов и их координаты пропорционально умножая на ту величину, на сколько окно увеличилось (разница между размером окна проекта и разрешением монитора).
А потом делается перерисовка окна (Page.Redraw) c новыми координатами и размерами объектов.
При сворачивании в окно соответственно присваивает исходные атрибуты и снова перерисовывает окно.

Собственно это будет несколько глобальных функций, одна из которых которая вызывается при загрузке каждой страницы и получает все вышеописанные параметры, а другая вызывается при разворачивании и сворачивании окна.
Как-то давно делал так, работает шикарно.

Добавлено:

Цитата:
как прикрепить файл не могу найти

Чтобы прикрепить файл надо залить его на файлообменник и дать ссылку
Автор: andreytmn
Дата сообщения: 26.06.2010 17:52
залил DLLDisplaySettings.dll сюда Ссылка
Мне не очень нравится что при этом происходит с изображением и кномками. а именно появляется зернистость. у меня в проекте много графики.
Автор: bigbrain
Дата сообщения: 26.06.2010 17:57
Это по-моему просто, используйте графику высокого разрешения. Такие проекты предназначены преимущественно для распространения на CD, для чего изначально была предназначена AMS и размер никогда не был принципиальным, а отличии от проектов, ориентированных на web.
Я ни разу не видел зернистости при увеличении у себя.
Покажите скрин, даже интересно )))
Автор: andreytmn
Дата сообщения: 26.06.2010 19:12
bigbrain
Опробовал твой код

display = System.GetDisplayInfo();
-- условие
if display.Width < 1024 then
warning = Dialog.Message("Неподдерживаемое разрешение", "Минимальное необходимое разрешение для работы программы 1024х768, а у Вас "..display.Width.." x "..display.Height.."\n\n Если Вы хотите изменить разрешение, нажмите ДА, \n\n\ Чтобы выйти из программы нажмите кнопку НЕТ.", MB_YESNO, MB_ICONINFORMATION, MB_DEFBUTTON1);
end

if warning == IDYES then -- пользователь согласен изменить разрешение
ChangeDisplaySettings(1024,768,32,60,0)
else
Application.Exit(0);
end

вышло следующее:
если разрешение более 800, то проект загружается и тут же вылетает без открытия страницы

если 800 то страница загружается как буд-то она 800*600 а объекты как положено на 1024 и стоят на своих местах, что на экране выглядит как смещение. Я поэкспериментировал и пришел к выводу что это косяк dll хотя может и не так.
Скорей всего, что бы много не мучится. я это немного переиграю. с делая как в справке System.GetDisplayInfo();
Если подскажешь решения этих загвоздок буду только рад.
скины
1024


1440


Скорее это не зернистость а неровность границ, графика создавалась с учетом разрешения 1024*768 и 72px.
Автор: bigbrain
Дата сообщения: 26.06.2010 19:38
Если вылетает, это как раз и может быть Application.Exit

Чтобы убедиться так это или нет, попробуй перед Application.Exit добавить строчку

Код: Dialog.Message("Внимание", "Вы отказались от смены разрешения. Программа завершает работу", MB_OK, MB_ICONINFORMATION, MB_DEFBUTTON1);
Автор: andreytmn
Дата сообщения: 26.06.2010 20:08
попробовал, точно срабатывает Application.Exit.

окно отладки
*** LOCATION: Project -> On Startup
[1]: display = System.GetDisplayInfo();
TRACE: LastError = 0 ("Success.")
[3]: if (display.Width < 1024) then
[7]: if warning == IDYES then -- пользователь согласен изменить разрешение
[10]: Dialog.Message("Внимание", "Вы отказались от смены разрешения. Программа завершает работу", MB_OK, MB_ICONINFORMATION, MB_DEFBUTTON1);


размер проекта 1024*768, resize отключен.

попробовал включит resize 1024*768, проект запустился как надо, но окно смещено от верхнего левого угла экрана примерно на 100 пик. по гор. и вер.

это окно отладки:
*** LOCATION: Project -> On Startup
[1]: display = System.GetDisplayInfo();
TRACE: LastError = 0 ("Success.")
[3]: if (display.Width < 1024) then
[4]: warning = Dialog.Message("Неподдерживаемое разрешение", "Минимальное необходимое разрешение для работы программы 1024х768, а у Вас "..display.Width.." x "..display.Height.."\n\n Если Вы хотите изменить разрешение, нажмите ДА, \n\n\ Чтобы выйти из программы нажмите кнопку НЕТ.", MB_YESNO, MB_ICONINFORMATION, MB_DEFBUTTON1);
TRACE: LastError = 0 ("Success.")
[7]: if warning == IDYES then -- пользователь согласен изменить разрешение
[8]: ChangeDisplaySettings(1024,768,32,60,0)
*** LOCATION: Globals
[20]: args = width..", "..height..", "..Depth..", "..Freq..", "..Permanent
[21]: result = DLL.CallFunction("AutoPlay\\Docs\\DLLDisplaySettings.dll", "ChangeDisplaySettings", args, DLL_RETURN_TYPE_STRING, DLL_CALL_STDCALL);
TRACE: LastError = 0 ("Success.")
[22]: if result == "0" then
[23]: local hWnd = Application.GetWndHandle();
TRACE: LastError = 0 ("Success.")
[24]: local WndSize = Window.GetSize(hWnd);
TRACE: LastError = 0 ("Success.")
[25]: local ScreenRes = System.GetDisplayInfo();
TRACE: LastError = 0 ("Success.")
[26]: local NewPos_X = (ScreenRes.Width - WndSize.Width)/2;
[27]: local NewPos_Y = (ScreenRes.Height - WndSize.Height)/2;
[28]: Window.SetPos(hWnd, NewPos_X, NewPos_Y);
TRACE: LastError = 0 ("Success.")
[38]: end
*** LOCATION: Project -> On Startup
[12]: end

может чего и прояснится. Я так думаю, что по шаманить со строками [22] - [28]. А может это только на моей машине?
И хотелось бы что бы размер окна пользователь не мог изменять. т.е. resize отключен.
Автор: bigbrain
Дата сообщения: 26.06.2010 20:26
Нажми File--> Export и сохрани как apz, а потом выложи где-то. Можешь в приват послать мне.
Будет время, посмотрю
Автор: andreytmn
Дата сообщения: 26.06.2010 20:41
Я тут поковырялся и получилось что смещается окно из-за
NewPos_X = (ScreenRes.Width - WndSize.Width)/2
NewPos_Y = (ScreenRes.Height - WndSize.Height)/2

если изменить эти цифры, то окно смещается левее и вверх. Правда что это значит я не знаю. у меня дошло аж до /100 и /600. Но окно все равно вписывается не идеально - не много смещено. Но в принципе терпимо.

Добавлено:
Заработало.

Сделал так

Код:
display = System.GetDisplayInfo();
-- условие
if (display.Width >= 1024)then
Application.ExitScript();
else
    if (display.Width < 1024) then
    warning = Dialog.Message("Неподдерживаемое разрешение", "Минимальное необходимое разрешение для работы программы 1024х768, а у Вас "..display.Width.." x "..display.Height.."\n\n Если Вы хотите изменить разрешение, нажмите ДА, \n\n\ Чтобы выйти из программы нажмите кнопку НЕТ.", MB_YESNO, MB_ICONINFORMATION, MB_DEFBUTTON1);
end

if warning == IDYES then -- пользователь согласен изменить разрешение
ChangeDisplaySettings(1024,768,32,60,0)
else
Dialog.Message("Внимание", "Вы отказались от смены разрешения. Программа завершает работу", MB_OK, MB_ICONINFORMATION, MB_DEFBUTTON1);
Application.Exit(0);
end     
end
Автор: bigbrain
Дата сообщения: 26.06.2010 21:05
Может, чтобы работало с разрешением под 800х600 необходимо проект делать 800х600?))
А кому надо больше те развернут на весь экран.
Автор: andreytmn
Дата сообщения: 26.06.2010 21:17
разобрался. resize был отключен.

Мысль конечно дельная, но хотелось бы 1024.Будем думать.

bigbrain огромное тебе человеческое СПАСИБО.

И еще не подскажешь что значит /2 в NewPos_X = (ScreenRes.Width - WndSize.Width)/2
Автор: bigbrain
Дата сообщения: 26.06.2010 21:24
Это значит разделить на 2
(разрешение экрана по ширине минус ширина окна) разделить на 2 = новые координаты по Х.
например:
Разрешение экрана 1280х960
Ширина окна 800
(1280-800)/2 = 240
Дальше зависит от того, что с новыми координатами делают.
Автор: Lexua
Дата сообщения: 26.06.2010 21:25

Цитата:
И еще не подскажешь что значит /2 в NewPos_X = (ScreenRes.Width - WndSize.Width)/2


разделить на 2
Автор: bigbrain
Дата сообщения: 26.06.2010 21:37
Посмотрел код.
В приведенном моем примере это приведет к тому, что окно будет отодвинуто от края экрана на 240 пикселей слева, вот и все.
Так как при изменении разрешения экрана окно все равно осталось бы на прежних координатах и могло бы оказаться где-то совсем внизу или в стороне.
Короче чтобы при изменении разрешении окно не оказалось за пределами монитора. А разделить на 2 наверное случайно выбрано, автор посчитал, что так красиво )).
Для того, чтобы посчитать отступ в процентах, нужно как минимум 2 строчки написать, а тут одна

Я уже говорил, что когда работаете с масштабированием объектов при разном разрешении, нужно работать с относительными величинами, а не с абсолютными.
При таком подходе разрешение будет меняться, а окно будет на одном месте, пропорционально сдвигаясь при изменении разрешения экрана.
Автор: andreytmn
Дата сообщения: 26.06.2010 22:02
Тогда галиматья какая то выходит.
Мои рабочие параметры такие (окно расположено практически без смещения)


Код: NewPos_X = (ScreenRes.Width - WndSize.Width)/100;
NewPos_Y = (ScreenRes.Height - WndSize.Height)/600;
Автор: bigbrain
Дата сообщения: 26.06.2010 22:05
Ну не знаю, я использую ресайзинг вместо изменение разрешения. Интерфейс должен быть user frendly
Сразу проблемы описанные Вами отпадают
Автор: tavria2
Дата сообщения: 28.06.2010 20:08
2All

Вышел новый релиз AMS 8.0.2.0

Today (June 28, 2010) we have released a new version of AutoPlay Media Studio (v8.0.2.0). Commercial users can download the new full installer from your customer portal.

An update to the Personal Edition will be available later this week.

This release contains the following bug fixes and feature enhancements:

•Feature: Added a Web.LoadHTML action that can be used to load a string of HTML into a web object.
•Feature: Added a QuickTime.GetVolume action that returns the volume level of a QuickTime object.
•Feature: Added a list of files to ignore from building, exporting and resource cleaning, found on the "Build" page of Edit > Preferences.
•Fix: Fixed a bug where visual styles would no longer work at runtime when the "rename resource files" option was enabled.
•Fix: Fixed a bug where DialogEx resize option was not working.
•Fix: Fixed a bug where closing a DialogEx with an active timer would cause a crash.
•Fix: Made it so that UPX compression would not be applied when runtime skins are used.
•Fix: Fixed a bug where the Application.LoadScript action would always fail.
•Fix: Fixed a bug where some buttons on the property grid would not work for plugin objects on dialogs. This would only effect the design environment.
•Fix: Fixed a bug where some audio events were not firing properly.
•Fix: Fixed a bug where the right-click Unlock option was not working on the Object Browser pane.
•Fix: Fixed a bug where keyboard shortcuts were not working properly in the Object Browser pane.
•Fix: Fixed a bug where windows that were previously maximized would not restore to the maximized state after being minimized to the system tray.
•Fix: Fixed missing "pairs" statement in distributed files "DelimitedStringFunctions.lua" and "ListBoxEx.lua" in ..\Gallery\Scripts\.
•Fix: Sped up the loading of very large archived projects and templates.
•Fix: Improved the performace of AutoPlay Media Studio when a tiled background is used on a page or dialog.
•Fix: Fixed a bug involving loading of 8-bit bmp files.
•Fix: Fixed a bug where the border of the RichEdit object would sometimes become invisible when the user would type in it.
•Fix: Fixed a bug where using the QuickTime.SetProperties action would cause certain QuickTime events to no longer fire.
•Fix: Fixed a bug where QuickTime.SetProperties was not restarting the movie if the Autostart option was turned on.
•Fix: Made it possible for xButton objects to use 32-bit icons for its button image.
•Fix: Made it so that hidden files are now included in the template and project archive creation process.
Автор: andreytmn
Дата сообщения: 30.06.2010 08:10
Доброго времени суток
Подскажите как реализовать такую задумку: надо чтобы web obect частично распологался под image. В поекте располагаю так, как задумал. а при просмотре проекта web все равно сверху. Пробовал различные варианты настроек web и image не помогает. На форуме ответа не нашел. А может это вообще нельзя реализовать?
Автор: lerik2703
Дата сообщения: 30.06.2010 08:18
andreytmn
повнимательнее почитал бы понял
tavria2 уже отвечал на подобный вопрос!

Цитата:
Никак.
Объекты, у которых имеется дескриптор (WindowHandle) - всегда будут над объектами без дескриптора. У Web-объект имеется дескриптор, а у изображения и лейбелов его нет, поэтому Web-объект и накрывает твои картинки и лейбелы и установка z-порядка тебе не поможет.


Автор: AstraZak
Дата сообщения: 30.06.2010 16:46
Если изменить дату на 2009, то приложение созданное в autoplay media studio 8.0 не хочет запускаться, кто знает решение?
Автор: Zloy_Gelud
Дата сообщения: 30.06.2010 16:54
AstraZak
Кто создавал приложение? Ты?
Оно может не запускаться лишь в том случае, если есть проверка даты. Имхо
Автор: AstraZak
Дата сообщения: 30.06.2010 18:26
Вот скомпилен стандартный шаблон, ставим доту <2009 и вуаля... нихрена не пашет.
http://www.mediafire.com/?gyyyym3wwnm

Автор: lerik2703
Дата сообщения: 30.06.2010 19:16
AstraZak
Это баг Кряка если хочешь что-бы экзешка открывалась поздней датой перед открытием файла проекта (.autoplay) установи другую системную дату!
Автор: ObiVanKenoby
Дата сообщения: 01.07.2010 09:33
Привет, всем! Я еще новичок в программе и хотел бы знать, как можно сделать скроллинг к картинке?
Если где-то уже такой вопрос был - дайте ссылочку ( поиском ниче не нашел ).

Добавлено:
И еще вопрос! Можно ли изменить скроллинг внешне в RichText?
Автор: ObiVanKenoby
Дата сообщения: 01.07.2010 16:03
Что-то у меня вопросов накопилось! =)
1. Возможно ли использование флеш кнопок, если да - то подскажите как?

2.Есть ли дополнительные переходы страниц для Autoplay 8й версии?
(На форуме смотрел, но для 8й версии ненашел)

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

P.S. Галерея нужна без наворотов, желательно чтобы вначале были превью картинок( на странице их около 9), при нажатии картинка увеличивается. Вот и все...



Добавлено:
Очень расчитываю на вашу помощь!
Автор: LEDRA
Дата сообщения: 01.07.2010 17:52
День добрый. опять я со своими кодировками )
нужно сохранить кириллическую строку в текстовый файл с кодировкой unicode. Ктото решил такую задачу?
Автор: lorents
Дата сообщения: 01.07.2010 18:06
ObiVanKenoby

Цитата:
Привет, всем! Я еще новичок в программе и хотел бы знать, как можно сделать скроллинг к картинке?

посмотри плагин ImageScroller в варезнике

Цитата:
1. Возможно ли использование флеш кнопок, если да - то подскажите как?

в смысле использовать Flash как кнопка?
если да, то можно fscommand, вот пример

Цитата:
2.Есть ли дополнительные переходы страниц для Autoplay 8й версии?

если не ошибаюсь, пока нету

Цитата:
3.Не знаете чем можно сделать flash галерею( нужны либо готовые флеш,

а этот вопрос как относится к AMS, ладно ты новичок, так что ничего. Посмотри здесь (не плох Wondershare Flash Gallery Factory, для новичка в самый раз)
Автор: ObiVanKenoby
Дата сообщения: 01.07.2010 18:40
lorents, спасибо огромное! Про Wondershare знаю, но хочется чего-то покруче, моя задумка там не реализовывается!.. Ну ладно...)
Автор: lorents
Дата сообщения: 01.07.2010 18:55
ObiVanKenoby
посмотри здесь. Выбери и дай знать мне, скачаю и отдам тебе.

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140

Предыдущая тема: Media Player Classic - Home Cinema (MPC-HC)


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