개발메모(형식에 매이지 않는 짤막한 개발 낙서)

Panel 활성화와 상관없이 Virtual Key 상태 알아내기

조회 수 3722 추천 수 0 2006.08.16 14:25:27
허창원 *.19.44.59
Panel 활성화와 상관없이 Virtual Key 상태 알아내기

CVI의 GetKeyPressEventModifiers() 함수 같은 종류는 해당 Panel이나 컨트롤이 Active 되어 있어야 될 것 같더군요.

Win32 SDK 함수를 아래와 같이 사용하면 되겠습니다.(Ctrl 키에 대한 예입니다.)

-------------------------------------------------
    #include <windows.h>
        
    short val;
        
    val = GetKeyState(VK_CONTROL);

    if(val < 0)
        눌러졌을때의 처리;
    else
        안눌러졌을때의 처리;
-------------------------------------------------
위의 함수를 실행시켜 반환값의 MSB가 1이면 눌러졌고, 0이면 안눌러짐
LSB는 이전의 상태를 나타냄
그래서 val의 값이 -값이면 눌러진걸로, 0보다 크거나 같은 값이면 안눌러진 걸로 판단하면 되겠습니다.
즉, (val < 0) 값이 참이면 눌러졌고, 거짓이면 안눌러진 겁니다.

GetKeyState() 함수에 대한 사용법은 아래의 웹페이지를 참고하세요.
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winui/winui/windowsuserinterface/userinput/keyboardinput/keyboardinputreference/keyboardinputfunctions/getkeystate.asp

다른 Virtual Key Code는 아래의 웹페이지를 참고하세요.
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winui/winui/WindowsUserInterface/UserInput/VirtualKeyCodes.asp

2006.8.16
허창원
List of Articles
번호 제목 글쓴이 날짜 조회 수
113 [Doc] LabVIEW에서 공유라이브러리(DLL) 호출 허창원 2007-06-12 6038
112 ATTR_SIZE_TO_TEXT 허창원 2007-05-24 3976
111 errChk 매크로 허창원 2007-05-24 2802
110 [Source] Panel Size가 바뀔때 Table의 크기도 연동되도록 허창원 2007-05-24 2887
109 [Doc] Serial Communication Overview 허창원 2007-05-23 2927
108 [Doc] Networking Two PCs for Remote Data Acquisition 허창원 2007-05-23 2846
107 [Doc] 10 Things to Consider When Choosing Vision Software 허창원 2007-05-23 2884
106 이동 가능한 컨트롤로 지정하기 허창원 2007-04-20 2759
105 [링크] Introduction to the LabWindows/CVI TDM Streaming Library 허창원 2007-03-22 3060
104 [링크] Customizing Create Distribution Kit Installers in LabWindows/CVI 허창원 2007-03-13 3724
103 파일 찾아보기 버튼의 콜백함수 예 허창원 2007-02-24 2808
102 DAQmx 장치의 Device Serial Number 얻어오기 허창원 2006-12-18 3478
101 Canvas에 라인 긋는 절차 메모 허창원 2006-12-02 2964
100 sample source인 canvsbmk.c의 Draw() 함수의 일부 허창원 2006-12-02 5875
99 Easy Tab 사용하기 메모 허창원 2006-08-18 3516
» Panel 활성화와 상관없이 Virtual Key 상태 알아내기 허창원 2006-08-16 3722
97 파워포인트의 특정 페이지로 이동하는 예 허창원 2006-08-08 3049
96 테이블(Table) 내의 셀(Cell) 속성을 변경하는 예 허창원 2006-06-30 3537
95 리스트박스(listbox)의 콜백예 file 허창원 2006-06-19 3057
94 ListBox를 갱신하는 나만의 스타일 허창원 2006-06-19 3003