Вопрос Изменения цвета элементов инсталлятора

tihiy_don

Старожил
Мужики, подскажите пожалуйста названия компонента описания чекбокса отключения создания папки в меню пуск? Никак не могу найти и цвет белый ему задать.
1613159569974.png
 

vint56

Ветеран
Проверенный
tihiy_don

#define MyAppName "My Program"
#define MyAppVersion "1.5"
#define MyAppExeName "MyProg.exe"

[Setup]
AppName={#MyAppName}
AppVersion={#MyAppVersion}
DefaultDirName={pf}\{#MyAppName}
DefaultGroupName={#MyAppName}
AllowNoIcons=yes
OutputBaseFilename=setup


[Languages]
Name: "default"; MessagesFile: "compiler:Default.isl"


[Icons]
Name: "{group}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"

[Code ]
var
NoIcons: TNewCheckBox;
NoIconsLabel: TLabel;

procedure NoIconsClick(Sender: TObject);
begin
if NoIcons.Checked then begin
WizardForm.GroupEdit.Enabled := False;
WizardForm.GroupBrowseButton.Enabled := False;
end
else begin
WizardForm.GroupEdit.Enabled := True;
WizardForm.GroupBrowseButton.Enabled := True;
end;
end;

procedure NoIconsLabelClick(Sender: TObject);
begin
case TLabel(Sender).Tag of
0: begin
TLabel(Sender).Tag := 1;
WizardForm.GroupEdit.Enabled := False;
WizardForm.GroupBrowseButton.Enabled := False;
NoIcons.Checked:= True;
end;
1: begin
TLabel(Sender).Tag := 0;
WizardForm.GroupEdit.Enabled := True;
WizardForm.GroupBrowseButton.Enabled := True;
NoIcons.Checked:= False;
end;
end;
end;

procedure InitializeWizard();
begin
WizardForm.NoIconsCheck.Hide;
NoIcons := TNewCheckBox.Create(WizardForm);
with NoIcons do
begin
Parent := WizardForm.SelectProgramGroupPage;
Left := ScaleX(8);
Top := ScaleY(208);
Width := ScaleX(17);
Height := ScaleY(17);
OnClick := @NoIconsClick;
end;
NoIconsLabel := TLabel.Create(WizardForm);
with NoIconsLabel do
begin
Parent := WizardForm.SelectProgramGroupPage;
Caption := 'Не создавать папку в меню «Пуск»';
Left := ScaleX(28);
Top := ScaleY(210);
Width := ScaleX(180);
Height := ScaleY(13);
Font.Color := clRed;
OnClick := @NoIconsLabelClick;
end;
end;
 

sergey3695

Ветеран
Модератор
🙃
Код:
procedure NoIconsLabelClick(Sender: TObject);
begin
  WizardForm.NoIconsCheck.OnClick(Sender);
end;

procedure InitializeWizard();
begin
  WizardForm.NoIconsCheck.Caption:= '';
with TLabel.Create(WizardForm.NoIconsCheck) do
begin
  Parent := WizardForm.NoIconsCheck.Parent;
  Caption := SetupMessage(msgNoProgramGroupCheck2);
  SetBounds(WizardForm.NoIconsCheck.Left+ScaleX(18), WizardForm.NoIconsCheck.Top+ScaleY(2), WizardForm.NoIconsCheck.Width, ScaleY(13));
  Font.Color := clRed;
  OnClick := @NoIconsLabelClick;
end;
end;
 

tihiy_don

Старожил
А элементу combobox нельзя установить цвет? А то я все закрасил как мне нужно, кроме самого компонента выдвижной кнопки со списком.
1613327255197.png1613327267384.png
 

sergey3695

Ветеран
Модератор
@tihiy_don,
code_language.pascal:
[Setup]
AppName=My Program
AppVerName=My Program v 1.5
DefaultDirName={pf}\My Program
OutputDir=.

[Code]
var
  NewComboBox1: TNewComboBox;

procedure ComboBoxDrawItem(Control: TWinControl; Index: Integer; Rect: TRect; State: TOwnerDrawState);
begin
  with NewComboBox1 do
  begin
//    if odFocused in State then
//    begin
      Canvas.Brush.Color := clBlack;
      Canvas.Font.Color := $FFFFFF - Canvas.Brush.Color;
//    end;
    Canvas.FillRect(Rect);

    Canvas.TextOut(Rect.Left + ScaleX(2), Rect.Top + ScaleY(2), IntToStr(Index) + '    ' + Items[Index]);
  end;
end;

procedure RedesignWizardForm;
begin
  { NewComboBox1 }
  NewComboBox1 := TNewComboBox.Create(WizardForm);
  with NewComboBox1 do
  begin
    Parent := WizardForm;
    Left := ScaleX(16);
    Top := ScaleY(327);
    Width := ScaleX(145);
    Height := ScaleY(21);
    Text := 'NewComboBox1';
    Style:= csOwnerDrawVariable;
    OnDrawItem:= @ComboBoxDrawItem;
    Items.Add('123');
    Items.Add('1234');
    ItemIndex := 0;
  end;
end;

procedure InitializeWizard();
begin
  RedesignWizardForm;
end;
 

tihiy_don

Старожил
Вот такая ерунда происходит, не знаю как сделать, чтобы сохранялся чёрный фон, если установить галочку "Не создавать папку в меню "Пуск"
1615728124306.png

1615728146762.png
А если вернуть галочку, то вообще текста не видно будет на белом фоне:
1615728191345.png
Пробовал отредактировать скин в программе Codejock Skin Builder, не помогло. Возможно что-то не то редактировал, в таком случае может кто-то подсказать нужный параметр там, который отвечает за фон и цвет текста Edit при enable=false?
 
Сверху