![]() |
Внимание, важное сообщение: Дорогие Друзья!
В ноябре далекого 2001 года мы решили создать сайт и форум, которые смогут помочь как начинающим, так и продвинутым пользователям разобраться в операционных системах. В 2004-2006г наш проект был одним из самых крупных ИТ ресурсов в рунете, на пике нас посещало более 300 000 человек в день! Наша документация по службам Windows и автоматической установке помогла огромному количеству пользователей и сисадминов. Мы с уверенностью можем сказать, что внесли большой вклад в развитие ИТ сообщества рунета. Но... время меняются, приоритеты тоже. И, к сожалению, пришло время сказать До встречи! После долгих дискуссий было принято решение закрыть наш проект. 1 августа форум переводится в режим Только чтение, а в начале сентября мы переведем рубильник в положение Выключен Огромное спасибо за эти 24 года, это было незабываемое приключение. Сказать спасибо и поделиться своей историей можно в данной теме. С уважением, ваш призрачный админ, BigMac... |
|
Компьютерный форум OSzone.net » Автоматическая установка Windows » Автоматическая установка приложений » Скрипты Inno Setup. Помощь и советы [часть 7] |
|
Скрипты Inno Setup. Помощь и советы [часть 7]
|
Ветеран Сообщения: 1274 |
Внимание! Данная тема предназначена только для обсуждения написания скриптов !
Остальные вопросы, а также последние версии компилятора в теме Inno Setup. Прочие вопросы. Показать/скрыть: Справка, руководство, примеры:
Показать/скрыть: Ссылки на примеры скриптов:
Показать/скрыть: Дополнительные программы для Inno Setup:
Предыдущие ветки обсуждения по ссылкам ниже и в прикреплённых архивах: Скрипты Inno Setup. Помощь и советы (Archive Pack 1):
Скрипты Inno Setup. Помощь и советы [часть 6] |
|
Отправлено: 11:48, 10-03-2014 |
Пользователь Сообщения: 72
|
Профиль | Отправить PM | Цитировать Цитата Dodakaedr:
|
|
Отправлено: 00:08, 12-01-2015 | #2281 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
![]() Ветеран Сообщения: 863
|
Профиль | Отправить PM | Цитировать ShadeUa, предыдущий мой пост смотрели? Оно?
|
------- Отправлено: 00:15, 12-01-2015 | #2282 |
Пользователь Сообщения: 72
|
Профиль | Отправить PM | Цитировать Цитата Dodakaedr:
Кстати вы незнаете как поменять тукстуру кнопки ? |
|
Отправлено: 12:18, 12-01-2015 | #2283 |
![]() Ветеран Сообщения: 863
|
Профиль | Отправить PM | Цитировать Цитата ShadeUa:
Скрытый текст
;Скрипт текстурирования кнопок, с четырмя видами состояния кнопок ;Используется текстура размером 320х23, где размер одной кнопки 80х23 ;Скрипт написал Shegorat [Setup] AppName=Test AppVerName=Test DefaultDirName={pf}\Test OutputDir=userdocs:Test. [Languages] Name: "rus"; MessagesFile: "compiler:Languages\Russian.isl"; [Files] ;Изображение размером 320х23 Source: button2.bmp; DestDir: {tmp}; Flags: dontcopy [Code] const ButtonWidth = 80; ButtonHeight = 23; var WizardLabel: TLabel; ButtonPanel: array of TPanel; ButtonImage: array of TBitmapImage; ButtonLabel: array of TLabel; UsedButtons: array of TButton; ButtonsCount: Integer; procedure ButtonLabelClick(Sender: TObject); var Button: TButton; n, i: Integer; begin i:= TLabel(Sender).Tag; ButtonImage[i].Left:= 0 for n:=0 to (ButtonsCount-1) do begin if i = n then Button:= UsedButtons[n]; end; Button.OnClick(Button) end; procedure ButtonLabelMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin if ButtonLabel[TLabel(Sender).Tag].Enabled then ButtonImage[TLabel(Sender).Tag].Left:=-ButtonWidth*2 end; procedure ButtonLabelMouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin if ButtonLabel[TLabel(Sender).Tag].Enabled then ButtonImage[TLabel(Sender).Tag].Left:=0 end; procedure ButtonLabelMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); var n, I: Integer; begin I:=TLabel(Sender).Tag; //Сначала восстанавливаем картинку у всех кнопок, так надо иначе могут быть глюки for n:=0 to (ButtonsCount-1) do begin if (ButtonLabel[n].Enabled)and(ButtonImage[n].Left <> -ButtonWidth*2)and(I<>N) then ButtonImage[n].Left:= 0; end; //Теперь собственно ставим нужную картинку if (ButtonLabel[i].Enabled)and(ButtonImage[i].Left <> -ButtonWidth*2) then begin ButtonImage[i].Left:= -ButtonWidth; end; end; procedure WizardLabelMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); var n: Integer; begin //Т.к Sender'ом выступает WizardLabel то не получится испльзовать индекс кнопки for n:=0 to (ButtonsCount-1) do if (ButtonLabel[n].Enabled)and(ButtonImage[n].Left <> -ButtonWidth*2) then begin ButtonImage[n].Left:= 0; end; end; procedure LoadButtonImage(AButton: TButton); var n: Integer; begin n:=ButtonsCount; SetArrayLength(ButtonPanel, n+1); SetArrayLength(ButtonImage, n+1); SetArrayLength(ButtonLabel, n+1); SetArrayLength(UsedButtons, n+1); UsedButtons[n]:= AButton; ButtonPanel[n]:=TPanel.Create(WizardForm) ButtonPanel[n].SetBounds(AButton.Left, AButton.Top, AButton.Width, AButton.Height) ButtonPanel[n].Tag:= n ButtonPanel[n].Enabled:= AButton.Enabled ButtonPanel[n].Parent:=AButton.Parent ButtonImage[n]:=TBitmapImage.Create(WizardForm) ButtonImage[n].SetBounds(ScaleX(0), ScaleY(0), ScaleX(320), ScaleY(23)) ButtonImage[n].Enabled:=False ButtonImage[n].Bitmap.LoadFromFile(ExpandConstant('{tmp}\Button2.bmp')) ButtonImage[n].Parent:=ButtonPanel[n] with TLabel.Create(WizardForm) do begin Tag:=n Parent:=ButtonPanel[n] Width:=AButton.Width Height:=AButton.Height Transparent:=True OnClick:=@ButtonLabelClick OnDblClick:=@ButtonLabelClick OnMouseMove:=@ButtonLabelMove OnMouseDown:=@ButtonLabelMouseDown OnMouseUp:=@ButtonLabelMouseUp end; ButtonLabel[n]:=TLabel.Create(WizardForm) ButtonLabel[n].Autosize:=True ButtonLabel[n].Alignment:=taCenter ButtonLabel[n].Tag:=n ButtonLabel[n].Enabled:= AButton.Enabled ButtonLabel[n].Transparent:=True ButtonLabel[n].Font.Color:=clWhite ButtonLabel[n].Caption:=AButton.Caption ButtonLabel[n].OnClick:=@ButtonLabelClick ButtonLabel[n].OnDblClick:=@ButtonLabelClick ButtonLabel[n].OnMouseMove:=@ButtonLabelMove ButtonLabel[n].OnMouseDown:=@ButtonLabelMouseDown ButtonLabel[n].OnMouseUp:=@ButtonLabelMouseUp ButtonLabel[n].Parent:=ButtonPanel[n] ButtonsCount:= ButtonsCount+1 end; procedure UpdateButtons(); var n: Integer; begin for n:=0 to ButtonsCount-1 do begin ButtonLabel[n].Caption:=UsedButtons[n].Caption ButtonPanel[n].Visible:=UsedButtons[n].Visible if (UsedButtons[n].Enabled = False) then ButtonImage[n].Left:= -ButtonWidth*3 else ButtonImage[n].Left:= 0; ButtonLabel[n].Enabled:= UsedButtons[n].Enabled; ButtonPanel[n].Enabled:= UsedButtons[n].Enabled; //Ставим Left и Top лейбла соразмерно размеру лейбла ButtonLabel[n].Left:= ButtonPanel[n].Width div 2 - ButtonLabel[n].Width div 2; ButtonLabel[n].Top:= ButtonPanel[n].Height div 2 - ButtonLabel[n].Height div 2; end; end; procedure LicenceAcceptedRadioOnClick(Sender: TObject); begin //Делаем кнопку активной WizardForm.NextButton.Enabled:= True; //Обновляем текстурированную кнопку (обновляем активность и текстуру) UpdateButtons(); end; procedure LicenceNotAcceptedRadioOnClick(Sender: TObject); begin //Делаем кнопку неактивной WizardForm.NextButton.Enabled:= False; //Обновляем текстурированную кнопку (обновляем активность и текстуру) UpdateButtons() end; procedure InitializeWizard(); begin WizardLabel:= TLabel.Create(WizardForm) WizardLabel.SetBounds(ScaleX(0), ScaleY(0), ScaleX(WizardForm.Width), ScaleY(WizardForm.Height)) WizardLabel.Transparent:= True; WizardLabel.AutoSize:=false; WizardLabel.OnMouseMove:=@WizardLabelMove WizardLabel.Parent:= WizardForm; WizardForm.BackButton.Width:= ButtonWidth WizardForm.BackButton.Height:= ButtonHeight WizardForm.NextButton.Width:= ButtonWidth WizardForm.NextButton.Height:= ButtonHeight WizardForm.CancelButton.Width:=ButtonWidth WizardForm.CancelButton.Height:= ButtonHeight WizardForm.DirBrowseButton.Left:=ScaleX(337) WizardForm.DirBrowseButton.Width:= ButtonWidth WizardForm.DirBrowseButton.Height:=ButtonHeight WizardForm.GroupBrowseButton.Left:=ScaleX(337) WizardForm.GroupBrowseButton.Width:= ButtonWidth WizardForm.GroupBrowseButton.Height:=ButtonHeight WizardForm.LicenseAcceptedRadio.OnClick:=@LicenceAcceptedRadioOnClick WizardForm.LicenseNotAcceptedRadio.OnClick:=@LicenceNotAcceptedRadioOnClick ExtractTemporaryFile('button2.bmp') LoadButtonImage(WizardForm.BackButton) LoadButtonImage(WizardForm.NextButton) LoadButtonImage(WizardForm.CancelButton) LoadButtonImage(WizardForm.DirBrowseButton) LoadButtonImage(WizardForm.GroupBrowseButton) end; procedure CurPageChanged(CurPageID: Integer); begin UpdateButtons() end; |
|
------- Отправлено: 12:44, 12-01-2015 | #2284 |
Пользователь Сообщения: 72
|
Профиль | Отправить PM | Цитировать Ну тут через . bmp а можна как то через. png ?
вот мне нужно наложить на кнопку info а я не доганяю как https://yadi.sk/i/ViCRXsTndv4wD |
Отправлено: 13:44, 12-01-2015 | #2285 |
Старожил Сообщения: 212
|
Профиль | Отправить PM | Цитировать Цитата ShadeUa:
|
|
------- Отправлено: 14:47, 12-01-2015 | #2286 |
Пользователь Сообщения: 72
|
Профиль | Отправить PM | Цитировать Цитата kotyarko@fb:
|
|
Отправлено: 16:12, 12-01-2015 | #2287 |
Пользователь Сообщения: 72
|
Профиль | Отправить PM | Цитировать Ну вот если даже взять готовый скрипт nfs , от как туда добавить кнопку и затекстурить ее?
|
Отправлено: 22:59, 12-01-2015 | #2288 |
Пользователь Сообщения: 77
|
Профиль | Отправить PM | Цитировать Помогите пож. со следующей проблемой:
На InfoBeforeMemo отбражается текст из файла RTF и фыглядит примерно так: ![]() После того как перенёс InfoBeforeMemo на новую панель текст из файла RTF стал отображатся так: ![]() Подскажите что необходимо прописать чтобы текст отображался как и прежде. |
Последний раз редактировалось ROMKA-1977, 13-01-2015 в 16:46. Отправлено: 13:35, 13-01-2015 | #2289 |
![]() Ветеран Сообщения: 863
|
Профиль | Отправить PM | Цитировать ROMKA-1977, покажите скрипт.
|
------- Отправлено: 19:58, 13-01-2015 | #2290 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Скрипты Inno Setup. Помощь и советы [часть 6] | El Sanchez | Автоматическая установка приложений | 2494 | 10-03-2014 11:51 | |
Скрипты Inno Setup. Помощь и советы [часть 5] | El Sanchez | Автоматическая установка приложений | 1999 | 28-03-2013 19:09 | |
Скрипты Inno Setup. Помощь и советы [часть 4] | El Sanchez | Автоматическая установка приложений | 2099 | 22-05-2012 23:16 | |
Скрипты Inno Setup. Помощь и советы [часть 3] | Serega | Автоматическая установка приложений | 3755 | 26-10-2011 17:58 | |
[архив] Скрипты Inno Setup. Помощь и советы [часть 2] | Serega | Автоматическая установка приложений | 2651 | 08-11-2010 18:34 |
|