Имя пользователя:
Пароль:
 

Показать сообщение отдельно

Аватара для Gnom_aka_Lexander

Ветеран


Сообщения: 978
Благодарности: 564

Профиль | Сайт | Отправить PM | Цитировать


Цитата rasim933:
Если можено, то пришли пожалста сюда коды кнопок. »
читать дальше »
Код: Выделить весь код
procedure CancelButtonClick(CurPageID: Integer; var Cancel, Confirm: Boolean);// Встроенная процедура
begin
  Confirm := False; // убираем окно потверждения нажатия на кнопку отмены
  Cancel := True;   // Разрешаем выход
end;

procedure NewButtonClick(Sender: TObject); // Обработчик кнопок.
begin
  case TNewButton(Sender).Tag of // Узнаем, какая кнопка нажата, по ее тегу
    0: MsgBox('Вы нажали кнопку 1',mbInformation,MB_OK);
    1: MsgBox('Вы нажали кнопку 2',mbInformation,MB_OK);
    2: MsgBox('Вы нажали кнопку 3',mbInformation,MB_OK);
    3: MsgBox('Вы нажали кнопку 4',mbInformation,MB_OK);
    4: MsgBox('Вы нажали кнопку 5',mbInformation,MB_OK);
    5: MsgBox('Вы нажали кнопку 6',mbInformation,MB_OK);
    6: MsgBox('Вы нажали кнопку 7',mbInformation,MB_OK);
    7: WizardForm.CancelButton.OnClick(WizardForm.CancelButton);
  end;
end;

procedure InitializeWizard();
Var
  i:Integer; // локальная переменная, с ее помощью запустим цикл
begin
  with WizardForm do // Делаем сразу общее обращение (минимальноя оптимизация, но торморза из мелочей собираются)
  begin
    AutoScroll := False;
    ClientHeight := ScaleY(260); // размер в высоту
    ClientWidth := ScaleX(190); // размер в ширину

    OuterNotebook.Hide; //Скрываем основной слой, на котором лежат почти все элементы
    Bevel.Hide;   // Скрываем полоску внизу инсталла, чтоб не маячила
    NextButton.Hide;  // Скрываем кнопку далее, чтоб нельзя было добраться до нее табом
    
    for i:=0 to 7 do // Запускаем цикл от 0 до 7, то-есть то, что внутри цикла, будет сделано 8 раз
    begin
      with TNewButton.Create(WizardForm) do // Собственно создаем кнопку
      begin
        Parent := WizardForm;  // указываем где ей лежать, в данном случае - окно инсталлятора Inno
        SetBounds(ScaleX(10),ScaleY(10+i*30),ScaleX(170),ScaleY(25)); // Задаем координаты и размеры 10+i*30 - тут простая математика 10 от верха будет первая кнопка, остальные лягут с интервалом в 30, в зависимости от того, чему равна локольная переменная I в данный момент
          case i of // тут задаем текст кнопки, в зависимости от того, какая из них создается в данный момент
            0: Caption := 'Кнопка 1';
            1: Caption := 'Кнопка 2';
            2: Caption := 'Кнопка 3';
            3: Caption := 'Кнопка 4';
            4: Caption := 'Кнопка 5';
            5: Caption := 'Кнопка 6';
            6: Caption := 'Кнопка 7';
            7: Caption := 'Выход';
          end;
        OnClick := @NewButtonClick; // Адрес обработчика нажатия на кнопку.
        Tag := i; // очень важно не забыть указать тег, поскольку создаем объект неименованый. Тег будет i.
      end;
    end;
  end;
end;
Вот, вроде достаточно подробно описал.

-------
Я люблю помогать. Но не путайте: "Помогите мне" и "Сделайте за меня" - это совершенно разные понятия.

Это сообщение посчитали полезным следующие участники:

Отправлено: 09:28, 25-03-2012 | #1319