| tavria2 
 
  
 Advanced Member
 | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору lorents
 Что-то мне не очень этот ProgressBar. Первый можно сделать средствами AMS, а у третьего проблема с пропорциями высоты и ширины, такое ощущение, что ширина задается в твипах, а высота в пикселях или наоборот.
 
 Для isProgressBar v1.00
 
 Global Functions
 Код:
 | -- Обертки Dll-функций function LoadLibrary(sFileName) local hDll = DLL.CallFunction("kernel32.dll", "LoadLibraryA", "\""..sFileName.."\"", DLL_RETURN_TYPE_LONG, DLL_CALL_STDCALL); return hDll end
 
 function InitProgressBar(hWnd, nLeft, nTop, nWidth, nHeight, nSpeed) DLL.CallFunction("IsProgressBar.dll", "InitProgressBar", hWnd..","..nLeft..","..nTop..","..nWidth..","..nHeight..","..nSpeed, DLL_RETURN_TYPE_LONG, DLL_CALL_STDCALL); end
 function InitProgressBar2(hWnd, nLeft, nTop, nWidth, nHeight, nSpeed, nAnim) DLL.CallFunction("IsProgressBar.dll", "InitProgressBar2", hWnd..","..nLeft..","..nTop..","..nWidth..","..nHeight..","..nSpeed..","..nAnim, DLL_RETURN_TYPE_LONG, DLL_CALL_STDCALL); end
 function InitCircularProgressBar(hWnd, nLeft, nTop, nWidth, nHeight, nSpeed, nBgCol, nActCol, nInActCol, nTransCol) DLL.CallFunction("IsProgressBar.dll", "InitCircularProgressBar", hWnd..","..nLeft..","..nTop..","..nWidth..","..nHeight..","..nSpeed..","..nBgCol..","..nActCol..","..nInActCol..","..nTransCol, DLL_RETURN_TYPE_LONG, DLL_CALL_STDCALL); end
 
 function DeInitProgressBar() DLL.CallFunction("IsProgressBar.dll", "DeinitProgressBar", "", DLL_RETURN_TYPE_LONG, DLL_CALL_STDCALL); end
 function DeInitProgressBar2() DLL.CallFunction("IsProgressBar.dll", "DeinitProgressBar2", "", DLL_RETURN_TYPE_LONG, DLL_CALL_STDCALL); end
 function DeInitCircularProgressBar() DLL.CallFunction("IsProgressBar.dll", "DeinitCircularProgressBar", "", DLL_RETURN_TYPE_LONG, DLL_CALL_STDCALL); end
 
 function FreeLibrary(hDll) DLL.CallFunction("kernel32.dll", "FreeLibrary", hDll, DLL_RETURN_TYPE_LONG, DLL_CALL_STDCALL); return hDll end
 | 
 Создаем ProgressBar:
 Код:
 | -- Загружаем Dll в память hDll = LoadLibrary("AutoPlay\\Docs\\IsProgressBar.dll"); -- получаем дескриптор Dll
 
 hWnd = Application.GetWndHandle(); -- дескриптор окна в котором будет отображен ProgressBar
 
 -- ProgressBar 1
 nLeft = 40; nTop = 114; nWidth = 418; nHeight = 21; nSpeed = 100;
 InitProgressBar(hWnd, nLeft, nTop, nWidth, nHeight, nSpeed);
 
 -- ProgressBar 2
 nLeft = 40; nTop = 154; nWidth = 418; nHeight = 21; nSpeed = 10; nAnim = 1;
 InitProgressBar2(hWnd, nLeft, nTop, nWidth, nHeight, nSpeed, nAnim);
 
 -- ProgressBar 3
 nLeft = 220; nTop = 184; nWidth = 120; nHeight = 65; nSpeed = 100;
 nBgCol =  Math.HexColorToNumber("ffffff"); nActCol = Math.HexColorToNumber("ff0000"); nInActCol = Math.HexColorToNumber("00ff00"); nTransCol = Math.HexColorToNumber("0000ff");
 InitCircularProgressBar(hWnd, nLeft, nTop, nWidth, nHeight, nSpeed, nBgCol, nActCol, nInActCol, nTransCol);
 | 
 Удаляем ProgressBar:
 Код:
 | -- Уничтожаем ProgressBar'ы DeInitProgressBar();
 DeInitProgressBar2();
 DeInitCircularProgressBar();
 
 -- Выгружаем Dll из памяти
 FreeLibrary(hDll);
 | 
 Для isProgressBar v1.01 можешь сам адаптировать код, но по-моему здесь автор перестарался, заменив системный скин ProgressBar на пользовательские цвета.
 
 По поводу ISDone0.4.2.5...  Извини, но заниматься им не буду - отбирает много времени.
 |