![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
ЗАпук обработчика из другой Формы.
Neket © (2009-07-05 14:45:00)впервые наткнулся на такую проблему. Неисключаю по причине незнания но, ситуаци следующая.
Есть две формы Form1 и Form2.
В Form1 есть вот такой обработчик:
procedure TForm2.CheckBox1Click(Sender: TObject);
begin
If CheckBox1.Checked = true then
begin
Shape1.Brush.Color:=ClRed;
end;
Но кода я в Form2 по событию
procedure TForm5.DBGrid1DblClick(Sender: TObject);
"ставлю галочку" Form2.CheckBox1.Checked:=true;
У меня сразу автоматически срабатывает первый обработчикTForm2.CheckBox1Click
Как такое возможно? Это же CheckBox1CLICK на Клик. И как этого можно избежать?
KilkennyCat (2009-07-05 17:39:00) [1]
> sniknik © (05.07.09 15:56) [5]
надо же... а мне вот уже лениво лазить и смотреть... сознавайся, где силы черпаешь?
sniknik (2009-07-05 16:19:00) [2]> ))) Ну я впринципе так и подозревал. windows mast die )))
lamers must die. LAMERS!!!
Neket (2009-07-05 15:59:00) [3]))) Ну я впринципе так и подозревал. windows mast die )))
sniknik (2009-07-05 15:56:00) [4]> Привет от микрософта, скорее всего.
procedure TCustomCheckBox.SetState(Value: TCheckBoxState);
begin
if FState <> Value then
begin
FState := Value;
if HandleAllocated then
SendMessage(Handle, BM_SETCHECK, Integer(FState), 0);
if not ClicksDisabled then Click;
end;
end;
микрософт привет!
KilkennyCat (2009-07-05 15:48:00) [5]
> но всеже интересно как такое возможно?
а что в этом невозможного? Просто так сделали, что данное событие вызывается на изменение состояния... Привет от микрософта, скорее всего.
Neket (2009-07-05 14:57:00) [6]Я конечно переписал испоняемый код в Form1 не на событияе OnClick а на CheckBox1MouseUp но всеже интересно как такое возможно?
Neket (2009-07-05 14:55:00) [7]ой блин сори я неподправил код.
Вот так правельно:
procedure TForm1.CheckBox1Click(Sender: TObject);
begin
If CheckBox1.Checked = true then
begin
Shape1.Brush.Color:=ClRed;
end;
и соответственно
procedure TForm2.DBGrid1DblClick(Sender: TObject);
sniknik (2009-07-05 14:54:00) [8]когда же ты уже отладчиком научишься пользоваться...
> В Form1есть вот такой обработчик:
> procedure T Form2.CheckBox1Click(Sender: TObject);
> Как такое возможно?