C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[18940] Re:조이스틱을 빌더5.0으로 제어 하고 싶습니다.
하느리 [] 1210 읽음    2002-05-28 12:02
조이스틱도 마우스와 동일하다고 보시면 됩니다.
다만 마우스가 WM_LBUTTONDOWN, WM_MOVE 등의 이벤트를 발생시키는 것에 반하여 조이스틱은 MM_JOY1BUTTONUP, MM_JOY1MOVE 등의 이벤트를 발생시킵니다. 도움말을 참조해 보시면 아시겠지만, 무수히 만흥 이벤트가 준비되어 있습니다. MFC 형태의 Windows API 도움말을 참조하세요.
아래는 하나의 예입니다. 제가 옛날에 만들었던 것에서 뽑아서 올립니다.

폼 h 헤더파일 내...
class TForm1 : public TForm
{
private:    // Start of User declarations
    bool    __fastcall JoyConnect (void);
    void    __fastcall JoyButton (TMessage &msg);
    void    __fastcall JoyMove (TMessage &msg);
    ...

public:        // Start of User declarations
    // 폼에 메세지를 추가한다.
  BEGIN_MESSAGE_MAP
     MESSAGE_HANDLER (MM_JOY1BUTTONUP, TMessage, JoyButton)
     MESSAGE_HANDLER (MM_JOY1MOVE, TMessage, JoyMove)
  END_MESSAGE_MAP (TForm)
}




폼의 cpp 소스파일 내...
//---------------------------------------------------------------------------
// Joystick 조정함수 : start ------------------------------------------------
//---------------------------------------------------------------------------
bool __fastcall TForm1::JoyConnect (void)
{ // 조이스틱 연결여부 확인
    JOYINFOEX   JoyInfo;

    if ( joyGetNumDevs () )
    {
        joyGetPosEx (JOYSTICKID1, &JoyInfo);
        if ( joyGetPosEx (JOYSTICKID1, &JoyInfo) == JOYERR_NOERROR )
        {
            joySetCapture (Handle, mJoyID, 55, FALSE);
            return  true;
        }
    }

    return  false;
}
//---------------------------------------------------------------------------
// 죠이스틱 버튼이 눌려졌을때 사용되는 함수
void    __fastcall TForm1::JoyButton (TMessage &msg)
{
    int button = msg.WParam;
    switch ( button )
    { // 버튼에 따른 처리
    case JOY_BUTTON1:
    ...
    break;
    case JOY_BUTTON2:
    ...
    break;
    case JOY_BUTTON3:
    ...
    break;
    ...
    }

}
//---------------------------------------------------------------------------
// 죠이스틱이 움직였을때 사용되는 함수
void    __fastcall TForm1::JoyMove (TMessage &msg)
{
    int             button, xJoy, yJoy;

    button  = msg.WParam;
    xJoy    = msg.LParamLo; // x축 좌표
    yJoy    = msg.LParamHi; // y축 좌표

    switch ( button )
    { // 버튼에 따른 처리
    case JOY_BUTTON1:
    ...
    break;
    case JOY_BUTTON2:
    ...
    break;
    case JOY_BUTTON3:
    ...
    break;
    ...
    }

    // 상황에 따른 처리 명령
    ...
}
//---------------------------------------------------------------------------
// Joystick 조정함수 : end --------------------------------------------------
//---------------------------------------------------------------------------




이상헌 님이 쓰신 글 :
:  조이스틱을 제어하여 모터를 움직이도 싶은데
: 방법을 모르겠습니다. 아시는 고수분 계시면
: 가르쳐 주시면 감사하겠습니다.
: 그럼 좋은 하루 되세여...

+ -

관련 글 리스트
18935 조이스틱을 빌더5.0으로 제어 하고 싶습니다. 이상헌 863 2002/05/28
18940     Re:조이스틱을 빌더5.0으로 제어 하고 싶습니다. 하느리 1210 2002/05/28
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.