Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2011.01.23;
Скачать: CL | DM;

Вниз

Обработка OnClick у CheckBox a   Найти похожие ветки 

 
flasher   (2010-11-08 09:03) [0]

Подскажите как сделать, чтобы при программной установке состояния CheckBox.Checked:= true/false не вызывалась бы обработка  CheckBox.OnClick?


 
12 ©   (2010-11-08 09:09) [1]

type TBC = class (TButtonControl);

 TBC(cbChiefEngener).ClicksDisabled := True;
 cbChiefEngener.Checked := CheckChiefEngener;
 TBC(cbChiefEngener).ClicksDisabled := False;


 
Юрий Зотов ©   (2010-11-08 10:20) [2]

CheckBox.OnClick := nil;
try
 CheckBox.Checked := ...;
finally
 CheckBox.OnClick := CheckBoxClick
end;


 
12 ©   (2010-11-08 10:37) [3]


> CheckBox.OnClick := nil;
> try
>  CheckBox.Checked := ...;
> finally
>  CheckBox.OnClick := CheckBoxClick
> end;

Тогда так удобнее

type
 TForm1 = class(TForm)
   cb1: TCheckBox;
   btn1: TButton;
   procedure cb1Click(Sender: TObject);
   procedure btn1Click(Sender: TObject);
 private     { Private declarations }
 public      { Public declarations }
 end;

var
 Form1: TForm1;

implementation

{$R *.dfm}
procedure TFCheckBox(CB:TCheckBox; TF:boolean);
var
 M: TNotifyEvent;
begin
 M := CB.onClick;
 CB.OnClick := nil;
 CB.Checked := TF;
 CB.OnClick := M;
end;

procedure TForm1.cb1Click(Sender: TObject);
begin
 ShowMessage( "" );
end;

procedure TForm1.btn1Click(Sender: TObject);
begin
  TFCheckBox(cb1, not(cb1.Checked));
end;


 
12 ©   (2010-11-08 11:34) [4]

что-то мало новых вопросов а поговорить хоцца :)
тогда так еще

type
 TForm1 = class(TForm)
   cb1: TCheckBox;
   btn1: TButton;
   btn2: TButton;
   procedure cb1Click(Sender: TObject);
   procedure btn1Click(Sender: TObject);
   procedure btn2Click(Sender: TObject);
   procedure FormCreate(Sender: TObject);
 private     { Private declarations }
   MyGlobalVar:Boolean;
 public      { Public declarations }
 end;

var
 Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.cb1Click(Sender: TObject);
begin
 if MyGlobalVar then Exit;
 ShowMessage( "onClick" );
end;

procedure TForm1.btn1Click(Sender: TObject);
begin
  MyGlobalVar := True;
  cb1.Checked := not(cb1.Checked);
  MyGlobalVar := false;
end;

procedure TForm1.btn2Click(Sender: TObject);
begin
 cb1.Checked := not(cb1.Checked)
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
 btn1.Caption := "no onClick";
 btn2.Caption := "wiht onClick";
end;



Страницы: 1 вся ветка

Текущий архив: 2011.01.23;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.009 c
11-1228208201
Dy1
2008-12-02 11:56
2011.01.23
юникодовый ListView


2-1288950802
DelphiRandom
2010-11-05 12:53
2011.01.23
Действительно случайные значения


11-1218819651
KOLBOSS
2008-08-15 21:00
2011.01.23
Cookies Synapse


2-1288280931
Aleks
2010-10-28 19:48
2011.01.23
Программа-ценник


15-1286656151
Юрий
2010-10-10 00:29
2011.01.23
С днем рождения ! 10 октября 2010 воскресенье