Показать полную графическую версию : Скрипты Inno Setup. Помощь и советы [часть 7]
Stealthmax
05-04-2014, 15:19
Идентично так как и с картинками. Т.е. пользователь наводит на компонент и видит окно в котором есть небольшое описание к данному компоненту. »
Ну в принципе, если просто описание компонента, в виде подсказки, то это параметр Hint.
// в данном случае при наведении курсора на странице wpWelcome на само привествие выводится описание компонента
begin
with WizardForm.WelcomeLabel1 do
begin
Hint := 'Это установка программы на ваш ПК';
ParentShowHint := False;
ShowHint := True;
end;
Если требуется выводить в отдельное окно с использованием Memo, то там чуток побольше будет.
Проект VCL Styles ,Использовать только Юникод версию Inno Setup на Анси ошибку выбивает... »
Дружище, так есть же поиск для этого). Исправь на LoadVCLStyleA
Почитай, если будет время (http://theroadtodelphi.wordpress.com/2013/12/11/vcl-styles-for-inno-setup/)
Ivan_009
05-04-2014, 15:35
Исправь на LoadVCLStyleA »
Исправил: http://rghost.ru/53788577
Farser21
05-04-2014, 15:43
Если требуется выводить в отдельное окно с использованием Memo, то там чуток побольше будет. »
Нужно именно в отдельное окно. Чтобы только в этом окне появлялся текст. Не могли бы вы скинуть образец? Заранее спасибо.
Stealthmax
05-04-2014, 15:45
Исправил »
Сейчас протестирую на Ansi версии и выдам точнее, что не так.
Попробуй так и отпишись, чтобы другие не наступили на грабли, допишу исправление. У меня запустилось на обеих версиях Unicode и Ansi
#ifdef UNICODE
#define A "W"
#define S "U"
#else
#define A "A"
#define S "A"
#endif
//*********************** Подключаем скин ***************************//
procedure LoadVCLStyle(VClStyleFile: String); external 'LoadVCLStyle{#A}@files:VclStylesInno.dll stdcall';
Ivan_009
05-04-2014, 16:55
Stealthmax, Не работает это аналог этому:
Исправь на LoadVCLStyleA »
1. Проект VCL Styles »Когда я смотрел проект VCLStyle - кривой был, сейчас смотрю поправили.
P.S. Пример для Unicode версии, для Ansi исправить LoadVCLStyleA »
Для обоих версий:
#define A = (Defined UNICODE) ? "W" : "A"
[Code]
//*********************** Подключаем скин ***************************//
// Импорт функции LoadVCLStyle из VclStylesInno.DLL
procedure LoadVCLStyle(VClStyleFile: String); external 'LoadVCLStyle{#A}@files:VclStylesInno.dll stdcall';
// Импорт функции UnLoadVCLStyles из VclStylesInno.DLL
procedure UnLoadVCLStyles; external 'UnLoadVCLStyles@files:VclStylesInno.dll stdcall';
function InitializeSetup(): Boolean;
begin
Result := True;
//******** извлечение скина********************//
ExtractTemporaryFile('CharcoalDarkSlate.vsf');
//*********** подключение скина **************//
LoadVCLStyle(ExpandConstant('{tmp}\CharcoalDarkSlate.vsf'));
end;
//**** Закрытие установщика и выгрузка подключенных библиотек ***********//
procedure DeinitializeSetup();
begin
UnLoadVCLStyles; //Выгружаем скин
end;
Ivan_009
05-04-2014, 17:02
Когда я смотрел проект VCLStyle - кривой был, сейчас смотрю поправили. »
Nordek,Собственно ни чего не поправили на Анси версии тупит... :(
Stealthmax
05-04-2014, 17:03
Когда я смотрел проект VCLStyle - кривой был, сейчас смотрю поправили. » Я сейчас сам раздуплился кое-как, оказывается обновление ещё было, я пропустил. Спасибо, за поддержку, а то как белка в колесе, на троих разрываюсь))).
Собственно ни чего не поправили на Анси версии тупит... »
Ничего не тупит, я ж написал проверь и напиши мне сразу. Если ты мою качал библиотеку, то обнови с сайта. У меня была 1.2.1.2, а новее 1.2.1.3.
И посмотри исправления в прошлом посте от Nordek или в моем(внес правку). Все работает без нареканий.
P.S. Для тебя персонально перезалью пример в том же посте.
Собственно ни чего не поправили на Анси версии тупит... »У меня нормально работает, на обеих версиях. Установлен InnoSetup как Ansi версия - по умолчанию, так и Unicode версия Inno.
А ошибка при ПКМ в VCL Styles версии 1.0.5.3 была, в VCL Styles версии 1.2.1.3 нет.
Ivan_009
05-04-2014, 17:23
Stealthmax, Где скины можно качнуть не подскажешь... :)
Сейчас заметил редактор скинов добавили VclStyleDesigner и просмотрщик VclStyleTest
audiofeel
05-04-2014, 17:35
Ничего не тупит, »
кнопка =выход не робит :(
http://rghost.ru/53792632/image.png
Ivan_009
05-04-2014, 17:37
Nordek, Интересно почему вверху крестик неактивен на инсталле не заметил случаем... :biggrin:
Установку отменить можно лишь кнопкой отмены... :beta:
Stealthmax
05-04-2014, 17:38
Где скины можно качнуть не подскажешь... »
А ты скачал установщик со страницы проекта? Мой пост читал? Внимательно?
Установи программу или распакуй её программой UniversalExtraxtor и там увидишь папку Styles, в ней все скины доступные + сам редактор скинов + демо для просмотра скинов.
Интересно почему вверху крестик неактивен на инсталле не заметил случаем... »
//****************************** Закрытие без подтверждений *******************//
#define A = (Defined UNICODE) ? "W" : "A"
const
SC_CLOSE = 61536;
var
OldProc: Longint;
function CallWindowProc(lpPrevWndFunc: Longint; hWnd: HWND; Msg: UINT; wParam, lParam: Longint): Longint; external 'CallWindowProc{#A}@user32.dll stdcall delayload';
function SetWindowLong(hWnd: HWND; nIndex: Integer; dwNewLong: Longint): Longint; external 'SetWindowLong{#A}@user32.dll stdcall delayload';
// вызов процедуры закрытия
procedure ExitProcess(exitCode:integer); external 'ExitProcess@kernel32.dll stdcall';
function FProc(h: hwnd; Msg, wParam, lParam: Longint): Longint;
begin
if (Msg = $0112) then
begin
if (wParam = SC_CLOSE) then
begin {действие при нажатии крестика}
// параметр процедуры закрытия процесса
ExitProcess(0);
// также можно добавить сообщение при нажатии
//MsgBox('вы нажали крестик', mbInformation, MB_OK);
wParam := 0;
end;
end;
Result := CallWindowProc(OldProc, h, Msg, wParam, lParam);
end;
procedure InitializeWizard();
begin
OldProc := SetWindowLong(WizardForm.Handle, -4, CallbackAddr('FProc'));
end;
procedure DeinitializeSetup();
begin
SetWindowLong(WizardForm.Handle, -4, OldProc);
end;
Ivan_009
05-04-2014, 18:05
Stealthmax, А как,чтобы подверждение было чет не допер... :(
Где скины »Небольшая коллекция лежит в "C:\Program Files\The Road To Delphi\VCL Styles Inno\Styles"
Как всегда, что-то не так. В VclStyleTest при попытке перейти к Data Controls - выдаёт сообщение "Error loading MIDAS.DLL".
Прикрепляю (http://rusfolder.com/40341408).
Бибилиотеку MIDAS.DLL положить рядом с VclStyleTest (C:\Program Files\The Road To Delphi\VCL Styles Inno);
Или установка:COPY midas.dll "%Windir%\System32" /Y
regsvr32 /S "%Windir%\system32\midas.dll"
удаление:
regsvr32 /U /S "%Windir%\system32\midas.dll"
DEL "%Windir%\system32\midas.dll" /S /Q
не заметил случаем... »Сейчас да, заметил.
Использую в инсталляторах:
[Code]
procedure InitializeWizard();
begin
WizardForm.BorderIcons := [];
end;
audiofeel
05-04-2014, 18:24
версия = 1.2.1.2 "крестик" работает :yes:
Stealthmax
05-04-2014, 18:32
А как,чтобы подверждение было чет не допер. »
function FProc(h: hwnd; Msg, wParam, lParam: Longint): Longint;
begin
if (Msg = $0112) then
begin
if (wParam = SC_CLOSE) then
begin {действие при нажатии крестика}
// параметр процедуры закрытия процесса
if MsgBox('Прекратить установку и закрыть?', mbConfirmation, MB_YESNO) = idYes then // подтверждение закрытия
ExitProcess(0);
// также можно добавить сообщение при нажатии
//MsgBox('вы нажали крестик', mbInformation, MB_OK);
wParam := 0;
end;
end;
Result := CallWindowProc(OldProc, h, Msg, wParam, lParam);
end;
Farser21
05-04-2014, 18:34
Если требуется выводить в отдельное окно с использованием Memo, то там чуток побольше будет. »
Нужно именно в отдельное окно. Чтобы только в этом окне появлялся текст. Не могли бы вы скинуть образец? Заранее спасибо.
Stealthmax
05-04-2014, 18:36
Как всегда, что-то не так. В VclStyleTest при попытке перейти к Data Controls - выдаёт сообщение "Error loading MIDAS.DLL". »
Я кинул библиотеку и ноу проблем-с (http://download.dll-files.com/ad59b73bf7d822b0ce6a860a66deabbf/midas.zip?0WLiUIbHeX)
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.