이제 변수 선언은 다 끝났습니다. 변수 초기화를 해 주어야지요.

변수 초기화는 myDlg.cpp에 있습니다.

클래스 이름과 같은 함수이름이 생성자라고 하는데욥,

CmyDlg::myDlg(CWnd* pParent)
    : CDialog(Cmfc_dialog_wingmanDlg::IDD, pParent)
    , m_BackLeft(FALSE)
    , m_BackRight(FALSE)
    , m_FrontUpLeft(FALSE)
    , m_FrontUpRight(FALSE)
    , m_FrontDownLeft(FALSE)
    , m_FrontDownRight(FALSE)
    , m_Xpos(0)
    , m_Edit(_T(""))
    , m_Data(_T(""))
{
     m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
}

초기화를 해줄랬는데 이미 되어있군요 !! Wow ~



자자 다시 myDlg.h로 돌아가서 헤더의 가장 아래쪽에 구조체를 선언해 줍시다.

클래스바깥요~

typedef struct _GApp
{
    HWND hwndApp;
    UINT joystickid;
    WORD wJoyXPos;
    BOOL fJoyButton1Down;
    BOOL fJoyButton2Down;
    BOOL fJoyButton3Down;
    BOOL fJoyButton4Down;
    BOOL fJoyButton5Down;
    BOOL fJoyButton6Down;
} GApp, * LPGApp;

extern GApp gapp;



이제 이벤트를 만들어 봐야겠지요

다시 리소스탭에 있는 다이얼로그로 갑니다.

확인을 선택하고 ID를 ID_TEST로 바꾼후 버튼을 더블클릭합니다.

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

이런게 생겼죠 ??

여기다가 소스를 붙여 넣읍시다 !!



TODO 라고 쓰인 주석위치에 


 UINT nValid = 0;

 gapp.joystickid = 0;

 if( joyGetNumDevs() == 0 )
 {
  MessageBox("Joystick Device Error!!");
  CDialog::OnOK();
 }

 memset(&joyinfo,0,sizeof(JOYINFOEX));
 joyinfo.dwSize = sizeof(JOYINFOEX);
 joyinfo.dwFlags = JOY_RETURNBUTTONS | JOY_RETURNX | JOY_RETURNY;

 if( joyGetPosEx(JOYSTICKID1, &joyinfo) != JOYERR_UNPLUGGED )
  gapp.joystickid = JOYSTICKID1;
 else if( joyGetPosEx(JOYSTICKID2, &joyinfo) != JOYERR_UNPLUGGED )
  gapp.joystickid = JOYSTICKID2;
 else
 {
  MessageBox("Joystick Device Error!!");
  CDialog::OnOK();
 }
 
 SetTimer(1,1,NULL);


를 복사후 붙여넣기 해줍니다 !!

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

MFC Joystick ver 1.0.5  (0) 2011.10.16
MFC Joystick ver 1.0.4  (0) 2011.10.16
MFC Joystick ver 1.0.2  (0) 2011.10.16
MFC Joystick ver 1.0.1  (0) 2011.10.16
MFC Joystick ver 1.0.0  (0) 2011.10.16

+ Recent posts