Цитата 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 вам в помощь, описание есть в справочнике