기본 컴포넌트가 아닌가 보군요. CheckBox에는 OnChange 이밴트가 기본으로 제공되지 않는데...
그래도 기본 개념은 동일하니 아래와같이 OnChange 함수 내에서
OnChange 함수 포인터를 임시로 NULL로 만들고 작업 완료 후 다시 복원해 주면 됩니다
void __fastcall TForm1::Edit1Change(TObject *Sender)
{
// OnChange 함수 포인터 임시 저장. 및 NULL로 초기화.
TNotifyEvent pOnEvent = Edit1->OnChange;
Edit1->OnChange = NULL;
// 해당 컴포넌트의 임의 조작 작업 .....
Edit1->Text = "test";
// 원상태로 OnChange 함수 복구.
Edit1->OnChange = pOnEvent;
}
쿼드콥터헬기 님이 쓰신 글 :
: void __fastcall TForm1::VrCheckLed1Change(TObject *Sender)
: {
: if(ModelSelFlag == 1 || FullSelFlag == 0)
: {
: if(VrCheckLed1->Checked == true)
: {
: ModelSelFlag = 1;
: VrCheckLed2->Checked = false;
: VrCheckLed3->Checked = false;
: }
: }
: else
: {
: VrCheckLed1->Checked = false;
: ShowMessage("모델을 선택해주세요!!!");
: }
: }
:
: 여기서 해당 조건이 안되면 체크를 안되게 하고 싶은데
: 체크박스가 두번 돕니다.. 그래서인지 메세지가 두번 뜹니다.. 다른 방법이 없을까요?
|