이제 변수 선언은 다 끝났습니다. 변수 초기화를 해 주어야지요.
변수 초기화는 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 |