다시 다이얼로그 디자인 하는 곳으로 가서 취소 버튼을 더블클릭 해주세요.
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 |