![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Помогите новичку [D7, WinXP]
Yury © (2007-05-11 16:48:00)Есть проблемка!
Заранее благодарен кто поможет решить.
Создаю Месседж Бокс руками.
Надо этому Боксу добавить событие ВанКлик.
Как это сдеалать??? помогите пожалуйста!
На первый взгляд все просто. Но почему-то
не работает.
Ниже листинг.
-------------------------------------------------------------
procedure Show(var stoped:bool);
var
AMsgDialog: TForm;
ACheckBox: TCheckBox;
begin
AMsgDialog := CreateMessageDialog('Записана цифра '+Trim(IntToStr(digit))+' в ячейку ('+Trim(IntToStr(str1))+';'+Trim(IntToStr(sto1))+' ) !', mtWarning, [mbOk]);
ACheckBox := TCheckBox.Create(AMsgDialog);
with AMsgDialog do
try
Caption := '"12345"' ;
Height := 150;
Width := 280;
Left := Screen.ActiveForm.Left + (Screen.ActiveForm.Width div 2) - (Width div 2);
Top := Screen.ActiveForm.Top + (Screen.ActiveForm.Height div 2) - (Height div 2);
with ACheckBox do
begin
Parent := AMsgDialog;
Caption := 'Останавливаться после записи каждой цифры.';
top := 100;
Left := 5;
Width := 270;
Checked := stoped;
OnClick := OnClick2;
end;
case ShowModal of
ID_OK:
end;
finally
ACheckBox.Free;
Free;
end;
end;
_ _ _ _ _ _ _ _
procedure OnClick2(Sender: TObject);
begin
stoped:=not stoped;
// ACheckBox.Checked := stoped;
Form1.CheckBox1.Checked := stoped;
Form1.Refresh;
end;
Kolan (2007-05-11 17:37:00) [1]> а не простые процедуры.
Ну да это имелось ввиду.
Desdechado (2007-05-11 17:33:00) [2]C той только разницей, что обработчики событий - методы класса должны быть, а не простые процедуры.
Kolan (2007-05-11 16:53:00) [3]> Надо этому Боксу добавить событие ВанКлик.
Если «Ван» на вашем языке = On, то:
procedure DoClick(Sender: TObject);
begin
ShowMessage('Click');
end;
var
CheckBox: TCheckBox;
begin
CheckBox := TCheckBox.Create(Self);
CheckBox.Parent := Self;
CheckBox.OnClick := DoClick;
end;