Действия при нажатие на кнопку, при условие что диалоговое окно создано с помощью кода
Добрый день.
Создаём диалоговое окно с помощью кода. Столкнулись с проблемой.
Нужно, чтобы при нажатие на RadioBotton (RB1) выполнялось действие.
пробовали делать процедуру "procedure RB1OnClick(Sender: TfrxComponent);
begin
ShowMessage('Была нажата кнопка RB1');
end;
Но видимо что-то не указано в параметрах или ещё какую ошибку допустили в написание кода. Уже 2 недели сидим и пытаемся запустить действие при нажатие.
Сам код диалогового окна "Обрезан до минимума, т.к. он очень длинный".
var
R:TfrxReport;
P:TfrxReportPage;
D:TfrxDialogPage;
G: Array[1..5] of TfrxGroupBoxControl;
RB: Array[1..15] of TfrxRadioButtonControl;
procedure RB1OnClick(Sender: TfrxComponent);
begin
ShowMessage('Была нажата кнопка RB1');
end;
begin
R:= TfrxReport.Create(nil);
R.Clear;
P:= TfrxReportPage.Create(R);
P.Name:='Report';
D:=TfrxDialogPage.Create(P);
D.BorderStyle:=bsSizeable;
D.Caption:='Доп настройки выгрузки';
D.ClientHeight:=300;
D.ClientWidth:=650;
D.color:=clBtnFace;
D.Height:=D.ClientHeight+40;
D.Width:=D.ClientWidth+16;
D.name:='DialogPage';
D.Position := poScreenCenter;
D.Tag:=0;
D.Visible:=True;
D.WindowState:=wsNormal;
D.ModalResult:=0;
G[1]:=TfrxGroupBoxControl.Create(D);
G[1].Height:=220;
G[1].Width:=180;
G[1].Top:=15;
G[1].Left:=15;
G[1].Caption:='Название группы';
RB[1]:=TfrxRadioButtonControl.Create(D);
RB[1].Height:=15;
RB[1].Width:=150;
RB[1].Top:= G[1].Top+15;
RB[1].Left:=G[1].Left+15;
RB[1].Caption:='Действия при нажатие';
RB[1].Name:='RB1';
D.ShowModal;
end.
Комментарии
Здравствуйте!
Добавьте после RB[1].Name:='RB1';
RB[1].OnClick:='RB1OnClick'; //надо задать обработчик события - это строка с именем процедуры
и у вас в срипте должна быть описана эта процедура