|
뭐 별로 도움이 안되는 답변입니다.
뽀족한 방법이 생각 나는게 없군요.외부변수 이용하시라는 말 밖에는요..
bool prog_mode=false;
void __fastcall TForm1::CheckBox1Click(TObject *Sender)
{
if(prog_mode) return;
......기존 코드
}
당근 코드에서 check1->Checked=true; 해줄때는
prog_mode=true;
check1->Checked=true;
prog_mode=false; 로 해야 겠죠...? ㅋㅋ
이런 방법이야 이미 알고 계신 방법이죠?
중요한 부분 아니면요,..바쁜데 시간 낭비 하지 마시고요...빨리 빨리...처리하고 다음 단계로..^^*
netics 님이 쓰신 글 :
: 모든 프레임워크가 다 그렇겠지만 쓰다보면 약간씩 모자르는 부분이 있다는 생각이 들게 됩니다.
:
: 그동안 계속 겪은 문제였지만 어떻게 돌려서 처리가 가능했었는데 이번에는 디자인을 돌려서
:
: 처리하기가 힘들군요.
:
: 제가 모르는 빌더의 방식이 있는지도 모르겠고요.
:
: 다음과 같은 상황이 있을때....
:
: 어떤 그래픽 처리 프로그램입니다. 화면의 객체를 클릭하면 그 객체의 속성을 보여주게 됩니다.
:
: 객체가 선택된 상태에서 속성값을 변경하면 객체의 속성을 수정해 줍니다.
:
: 보여주는 정보중에는 TCheckBox 를 써서 표시해주는 정보가 있습니다.
:
: 자. 이걸 구현하기 위해, TCheckBox 의 OnClick 이벤트에 체크박스가 눌렸으면 선택된 객체의 정보를 변경
:
: 해주는 코드를 삽입했습니다.
:
:
: 이제부터가 문제가 발생합니다. 화면에서 어떤 객체를 선택하면 그 객체의 정보를 표시해 주기 위해서
:
: 체크박스 를 체크하거나 또는 체크를 끄거나 해야 합니다. 이걸 하기 위해서는 Checked 속성을 이용해야
:
: 하는데, 이 속성값을 변경하면 OnClick 이벤트가 일어나게 됩니다.
:
: 그냥 정보를 표시해주려고 한건데 정보를 수정하는 코드가 쓸데없이 실행되서 비효율이 발생합니다.
:
: 그냥 비효율로 끝나면 좋겠는데 제가 지금 작업하는 경우에서는 에러가 발경하는 경우가 되어 있습니다.
:
: 이걸 해결할 방법을 아시는지요?
:
: 빌더에서 이벤트 발생을 억누를 방법을 아시나요?
:
:
:
:
: 유저 입력으로 인한 값 변경과, 프로그램상에서의 값 변경을 구별할 방법이라도 있으면 좋겠네요..
:
:
:
|