Уважаемые гости и пользователи форума.
Администрация настоятельно рекомендует не регистрировать несколько аккаунтов для одного пользователя. При выявлении наличия мультиаккаунтов будут заблокированы все учетные записи данного пользователя.
Аккаунты, зарегистрированные на временную почту, будут также заблокированы.
Пока нет.
У меня нет достаточных знаний и опыта, чтобы сделать это самостоятельно.
Примеров с реализацией подобного функционала я сети не нашел, поэтому отложено на неопределённый срок.
Надеюсь на понимание.
@Leserg. В вашей сборке Inno 633EE, при подключении vcl стилей происходит то же самое что и в фмх, на некоторое время появляется окно с пустой формой. Example_BackgroundFormAndNC.iss. В 6.40 так же? Этого не избежать? Второй вопрос, а зачем mainform нужно было вообще убирать?
Leserg.А можно ли в вашей сборке к компоненту TNewStaticText сделать выравнивание текста по ширине (Alignment) и по высоте (Layout), ну то есть как реализовано у компонента TLabel.
И ещё хотелось бы, когда включена прозрачность у TNewStaticText (Transparent := True) чтобы цвет текста можно было бы менять.
Ну всё то что реализовано у компонентаTLabel.
Вернул обратно предыдущую сборку (т.е. начальную), т.к. в этой "исправленной" полезли другие ошибки.
Как их устранить не понимаю. Возможно вообще придется отказаться от тени для VCL Style или, по крайней мере, только для главной формы.
Пока что, если применяете WizardForm.Position := poScreenCenter, то отключайте тень для главной формы.
Как только что было сказано выше - отключите тень для главной формы.
Можете потом её снова включить, когда закончится инициализация главной формы.
То есть в начале InitializeWizard() отключаете, а конце включаете.
code_language.pascal:
procedure InitializeWizard();
begin
// Отключаем видимость тени для главной формы
WizardFormShadow.ShadowOn := False;
...
// остальной код...
...
// Включаем видимость тени для главной формы
WizardFormShadow.ShadowOn := True;
end;
Это вопрос к разбработчику. Как говорит Джордан (автор и ведущий разработчик), "это древний функционал родом из 90гг прошлого века, который не соответствует современным стандартам установки, поэтому был полностью удалён, окончательно и безвозвратно."
Ну что сказать... Это свойство у компонента есть ещё с самого начала, когда приступил к разработке Inno Setup VCL, но по какой-то причие я это свойство пропустил и не объявил. То есть свойство есть, а доступа к нему нету - исправлю.
Ну так используйте TLabel, где вам необходимо!
Поймите, что TNewStaticText (TStaticText) и TLabel это наследники разных классов! То что есть в TLabel нельзя вот так просто и запихнуть в TStaticText. Иначе был бы только один компонент без всего этого разнообразия.
@Leserg. В вашей сборке Inno 633EE, при подключении vcl стилей происходит то же самое что и в фмх, на некоторое время появляется окно с пустой формой. Example_BackgroundFormAndNC.iss. В 6.40 так же? Этого не избежать? Второй вопрос, а зачем mainform нужно было вообще убирать?
Небольшое обновление (сборка от 18,01,2025):
1. Удален класс TShadowForm и вся связанная с ним функциональность, включая пример Example_ShadowForm.iss.
Причина: побочные физуальные артефакты, сложность реализации, особенно в версии 6.4.0 в связи с изменившейся инициализацией окон программы установки.
Но включить тень окон мастера установки при использовании VCL стилей можно включением параметра скругления углов - см. директиву SetupRoundedCorner. Проверено на системах Windows 11, на предыдущих версиях ОС не проверялось, но если в них работает DWMAero, то также должно работать. Если же используется значение по умолчанию (когда директива не SetupRoundedCorner не задана), то тень будет отсутствовать, т.е. стандартное поведение окна установки с VCL стилем.
2. Объявлены имеющиеся свойства в компоненте TNewStaticText, а именно:
code_language.pascal:
Alignment: taLeftJustify - выравнивание текста по левому краю (по умолчанию);
taRightJustify - выравнивание текста по правому краю;
taCenter - выравнивание по центру.
BorderStyle: sbsNone - рамка отсутствует (по умолчанию);
sbsSingle - простая рамка;
sbsSunken - 3D рамка.
VerticalAlignment: taAlignTop - выравнивание текста по верхней границе (по умолчанию);
taVerticalCenter - выравнивание текста по центру по вертикали;
Причем свойство выравнивания текста работает только при указании свойства WordWrap := True.
Теперь можно изменить цвет текста, если Transparent := True. Но при использовании VCL стиля, также следует применять свойство StyleElements := [seBorder], иначе выбранный стиль установит собственный цвет шрифта. Кстати свойством StyleElements любой компонент можно "выключать из стиля" или полностью или частично (подробнее).
3. Добавлена функция Windows API – LoadIcon.
Реализация функции представлена двумя вариантами:
code_language.pascal:
- function LoadIcon(ResIconName: String): HICON;
Загрузка значка из ресурсов программы установки по заданному имени.
Добавить значки (*.ICO) в ресурсы программы установки можно с помощью
директивы IconResource в секции [Setup].
- function LoadIconIDI(hInst: Longint; IconIDI: Longword): HICON;
Загрузка значка из ресурсов по заданному ID номеру. При этом можно
указывать системные значки, если параметр hInst установлен в 0.
4. Добавлена функция Windows API – MessageBoxTimeout (источник).
Функция MessageBoxTimeout позволяет отобразить сообщение, которое будет автоматически закрыто через указанный промежуток времени.
code_language.pascal:
function MessageBoxTimeout(hWnd: HWND; { дескриптор окна }
lpText: String; { текст сообщения }
lpCaption: String; { текст заголовка }
uType: UINT; { тип сообщения / флаги }
wLanguageId: Word; { идентификатор языка }
dwMilliseconds: DWORD { время отображения в мс }
): Integer;
Пример использования смотрите в файле Example_MessageBoxTimeout.iss.
Leserg
VerticalAlignment: taAlignTop - выравнивание текста по верхней границе (по умолчанию);
taVerticalCenter - выравнивание текста по центру по вертикали;
Выравнивание текста по центру по вертикали, всё нормально.
Но нету переноса слов. Если слово длинное, выглядит в одну строку, и уходит за кроя рамки.
ZVSRus, это только для коротких фраз в пределах границ компонента.
Компонент TNewSaticText создаётся средствами Windows API, в котором для этого компонента нет соответствующего функционала. Вот список свойств компонента TSaticText. Как можно заметить, среди них нет свойств для выравнивания текста по вертикали. В данном конкретном случае для имитации выравнивания текста по центру вертикали я добавил флаг SS_CENTERIMAGE, который не имеет отношения к тексту, но работает для него как нужно. Сожалею, но больше ничего нельзя сделать из-за ограничения Windows API. Если вам необходимо такое выравнивание, используйте другой компонент.
На данном сайте используются файлы cookie, чтобы персонализировать контент и сохранить Ваш вход в систему, если Вы зарегистрируетесь.
Продолжая использовать этот сайт, Вы соглашаетесь на использование наших файлов cookie.