다시 다이얼로그 디자인 하는 곳으로 가서 취소 버튼을 더블클릭 해주세요.

void Cmfc_dialog_wingmanDlg::OnBnClickedCancel()
{
    // TODO: 여기에 컨트롤 알림 처리기 코드를 추가합니다.
    OnCancel();
}


이게 생깁니다.

주석과 OnCancer(); 사이에 KillTimer(1);를 넣어주세요

void Cmfc_dialog_wingmanDlg::OnBnClickedCancel()
{
    // TODO: 여기에 컨트롤 알림 처리기 코드를 추가합니다.
    KillTimer(1);
    OnCancel();
}

이렇게요.

그 다음엔.. ALT 키를 누르면 위쪽 탭으로 가게됩지요..

파일, 편집, 보기, 프로젝트, 빌드 디버그, 도구 테스트, 창, 도움말

이렇게 있는데 프로젝트 -> 속성을 누릅니다.



구성 속성 - 링커 - 입력 - 추가종속성에서 winmm.lib 를 입력해 줍니다.

담에 myDlg.h의 가장위에 #include "mmsystem.h" 를 추가해줍니다.

그리고 클래스 안에 public: 아래

public:
    JOYINFOEX joyinfo;
    CPen hpen, *hpenOld;
    int x;

를 넣어줍니다..



다시.. 다이얼로그로 돌아와서..

OnTimer를 추가해 주세요. 이렇게



그다음엔 이렇게 ~

void CmyDlg::OnTimer(UINT_PTR nIDEvent)
{
 
 joyGetPosEx(gapp.joystickid, &joyinfo);
 gapp.fJoyButton1Down = ((joyinfo.dwButtons & 1)  != 0);
 gapp.fJoyButton2Down = ((joyinfo.dwButtons & 2)  != 0);
 gapp.fJoyButton3Down = ((joyinfo.dwButtons & 4)  != 0);
 gapp.fJoyButton4Down = ((joyinfo.dwButtons & 8)  != 0);
 gapp.fJoyButton5Down = ((joyinfo.dwButtons & 16) != 0);
 gapp.fJoyButton6Down = ((joyinfo.dwButtons & 32) != 0);

 gapp.wJoyXPos = WORD(joyinfo.dwXpos);

 if(gapp.fJoyButton1Down == TRUE) m_BackLeft=TRUE;
 else m_BackLeft=FALSE;

 if(gapp.fJoyButton2Down == TRUE) m_BackRight=TRUE;
 else m_BackRight=FALSE;

 if(gapp.fJoyButton3Down == TRUE) m_FrontUpLeft=TRUE;
 else m_FrontUpLeft=FALSE;

 if(gapp.fJoyButton4Down == TRUE) m_FrontUpRight=TRUE;
 else m_FrontUpRight=FALSE;

 if(gapp.fJoyButton5Down == TRUE) m_FrontDownLeft=TRUE;
 else m_FrontDownLeft=FALSE;

 if(gapp.fJoyButton6Down == TRUE) m_FrontDownRight=TRUE;
 else m_FrontDownRight=FALSE;

 m_Xpos = gapp.wJoyXPos;

 UpdateData(false);

 CDC *pNewDC = GetDC();
 
 
 
 //빨간 사각형 그림
 hpen.CreatePen(PS_SOLID, 1, RGB(255, 0, 0));
 hpenOld = pNewDC->SelectObject(&hpen);
 x=gapp.wJoyXPos/10 + 900; 
 pNewDC->Rectangle((x/15) -10, 28, (x/15) +10, 48);
 pNewDC->SelectObject(hpenOld);    
 hpen.DeleteObject();


 //빨간 사각형 지움
 hpen.CreatePen(PS_SOLID, 1, RGB(255, 255, 255));
 hpenOld = pNewDC->SelectObject(&hpen); 
 pNewDC->Rectangle((x/15)-2-10-22-(3), 28, (x/15) +2-12, 48);
 pNewDC->Rectangle((x/15)-2+12, 28, (x/15) +2+10+22+(5), 48);
 pNewDC->SelectObject(hpenOld);    
 hpen.DeleteObject();

 
 //격자그리기
 hpen.CreatePen(PS_SOLID, 1, RGB(0, 0, 0));
 hpenOld = pNewDC->SelectObject(&hpen);
 for(int i=1; i<11; i++){
  pNewDC->MoveTo(i*50, 38-5);
  pNewDC->LineTo(i*50, 38+5);
 }
 pNewDC->SelectObject(hpenOld);    
 hpen.DeleteObject();

 ReleaseDC(pNewDC);

 CDialog::OnTimer(nIDEvent);
}

'OpenSTUDY > openProjects' 카테고리의 다른 글

MFC BlueTooth ver 1.1.0  (0) 2011.10.16
MFC Joystick ver 1.0.5  (0) 2011.10.16
MFC Joystick ver 1.0.3  (0) 2011.10.16
MFC Joystick ver 1.0.2  (0) 2011.10.16
MFC Joystick ver 1.0.1  (0) 2011.10.16

+ Recent posts