서브클래싱이나 클래스 상속등을 이용하면 가능하겠지만, 배보다 배꼽이 커지겠죠.
제가 자주 사용하는 방법인데, Tag를 이용하면 쉽게 구현이 가능합니다.
아래 소스는 Button1을 클릭해서 ItemIndex값을 바꾸어도, RadioGroup의 클릭이벤트는 발생하지만, 실제 내부 코드는 실행되지 않습니다.
즉, Tag을 이용해서 GUI화면을 통해 클릭했을 때와 ItemIndex를 바꿨을 때를 구분할 수가 있는 것입니다.
//---------------------------------------------------------------------------
void __fastcall TForm1::RadioGroup1Click(TObject *Sender)
{
if( RadioGroup1->Tag == 0 ){
MessageBoxA(NULL, "RadioGroup Click이벤트 발생", "테스트", 0 );
}
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
RadioGroup1->Tag = 1;
RadioGroup1->ItemIndex = 2;
RadioGroup1->Tag = 0;
}
송신영 님이 쓰신 글 :
: RadioGroup 에서요..
: GUI 상에서 실제 Click 했을 경우에는 정상적으로 OnClick Event가 발생되고
: ItemIndex를 변경 시에는 OnClick Event 가 발생하지 않도록할수 있나요?
:
|