Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Аватара для K.A.V.

Ленивый кусок мяса


Contributor


Сообщения: 1986
Благодарности: 723

Профиль | Сайт | Отправить PM | Цитировать


Цитата MaGoth:
но есть один мелкий графический баг, см. ,вложение. »
У вас есть, у меня нет

Цитата MaGoth:
Как его побороть без ковыряния в ресурсах Нсис?! »
Зачем в ресурсы то лезть, просто команду подкорректируйте, размеры прогресса...

Цитата MaGoth:
- уменьшить высоту второго прогресс бара, на одну треть или в половину от текущей(надо поиграться с его настройками), как я понял из System::Call, параметры этого элемента прописаны, только не понятно что есть что в циферках.. »
Есть такая штука, как MSDN, например, там есть подробное описание всех WinAPI функций, какие параметры передаются, какой тип данных должен быть, какие вообще могут применяться команды к интересующему вас элементу управления.

Для создания элемента мы используем команду CreateWindowEx, описание на русском, например, можно посмотреть здесь, гуглится всё достаточно легко

Из описания команды, думаю, вам всё станет более-менее ясно, какие параметры за что отвечают
Код: Выделить весь код
System::Call 'user32::CreateWindowEx(i0,t"msctls_progress32",t"",i${WS_CHILD}|${WS_VISIBLE},i5,i120,i520,i20,i$R0,i6666,i0,i0) i.R2'
Цитата:
HWND WINAPI CreateWindowEx(
_In_ DWORD dwExStyle,
_In_opt_ LPCTSTR lpClassName,
_In_opt_ LPCTSTR lpWindowName,
_In_ DWORD dwStyle,
_In_ int x,
_In_ int y,
_In_ int nWidth,
_In_ int nHeight,

_In_opt_ HWND hWndParent,
_In_opt_ HMENU hMenu,
_In_opt_ HINSTANCE hInstance,
_In_opt_ LPVOID lpParam
);
5 - позиция по горизонтали
120 - позиция по вертикали
520 - ширина
20 - высота

Цитата MaGoth:
- узнать, как правильно передать исполняемые процессы из какой-либо .dll, например, nsisUnRar2.dll, в этот созданный прогресс бар ? »
С этим я вряд ли что-то подскажу, если у dll есть возможность отрабатывать с callback функцией, то сможете такое сделать, если нет - увы, маловероятно
Следует учесть тот факт, что у нас нет ни доков к этой dll, ни исходника...Так что в таком случае, можете только сидеть и методом тыка что-то пробовать, может чего и получится
Вы же видите, что при начале распаковки файла из архива - dll показывает инфу в основном прогрессе + отображает текстовую информацию над прогрессом, эта dll была специально запилена под NSIS, сомневаюсь, что разрабы писали её как универсальное средство, как пишут плагины для NSIS...

Цитата MaGoth:
при достижении 100% выполнения, удалять этот прогресс из окна оставляя только основной прогресс в окне инсталлера. »
Команда ShowWindow вам в помощь, описание есть в справочнике

-------
[Справочник по командам Windows] -- [Справочник по NSIS] -- [SFX Creator - для создания SFX архивов]


Отправлено: 22:01, 11-02-2015 | #1494