MFC 버튼이 왜 항상 2번 눌러야 실행될까?
조회수 1626회
항상 느끼는 거지만... MFC 버튼을 눌렀을시 어떤 계산식이 들어가게 코드를 작성하면,
1번 눌렀을 때는 실행이 안되었다가, 2번 눌렀을시 실행이 됩니다.
당연히 버튼은 BN_CLICKED 로 지정하였습니다.
다음은 문제가 되는 간단한 코드입니다.
void TIMEdlg::OnRunButton()
{
// TODO: Add your control notification handler code here
int PutinTime;
int Hour,Min,Sec;
PutinTime = (m_EditPutinTime);
Hour = PutinTime / (60*60);
Min = ( PutinTime % (60*60) ) / 60;
Sec = ( ( PutinTime % (60*60) ) % 60 );
UpdateData(true);
{
m_EditHour = Hour;
m_EditMin = Min;
m_EditSec = Sec;
}
UpdateData(false);
}
보시는 바와 같이.
버튼에 int 를 선언하고, 멤버 변수 또한 int 형으로 되어있는 상태입니다.
int 형인 [m_EditHour] Edit박스에게 Hour 값을 넣어주는 아주 간단한 코드입니다.
그러나 아이러니 하게도, 항상 버튼에 int 선언과 간단한 계산식을 넣어주고 UpdateData를 해주면..
버튼을 2번 째 클릭 했을시에, 녀석들이 값을 실행하여 보여줍니다..
mfc가 의도한건 아닌거 같은데.. 도대체 뭐가 문제죠?
1번 클릭했을 시 바로 반응하게 할 수는 없을까요?
도움 요청 드립니다.
댓글 입력