Главная страница
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
2-1288890745
Alik
2010-11-04 20:12
2011.01.23
Проблема с WriteFile ReadFile


15-1286438207
delphi  php
2010-10-07 11:56
2011.01.23
Формирование запроса и получение страницы


2-1289220381
12
2010-11-08 15:46
2011.01.23
запрос к двум файлам Excel через ADO


2-1288332436
Abcdef123
2010-10-29 10:07
2011.01.23
Есть ли компонент MessageDlg с дополнительным чекбоксом на форме?


4-1243613031
GanibalLector
2009-05-29 20:03
2011.01.23
Номер порта на модеме