DirectInput DirectInput C/C++ 샘플 DeviceView 샘플 [목차열람] [주소복사] [슬롯비우기] |
Microsoft DirectX 9.0 |
이 샘플은, (SDK 루트) \samples\C++\Common 폴더의 샘플에 있는 DIDevImage 프레임워크(framework)를 사용해, 장치 구성의 커스텀 인터페이스를 생성 하는 방법을 나타내고 있다.
DIDevImage 프레임워크(framework)에서는, 비트 맵에 관련하는 정평 처리, 툴 힌트, 이미지 스케일링등을 처리할 수 있다. 한층 더 기능이 필요한 경우는, (SDK 루트) \samples\cpp\common\src\didevimg.cpp 에 있는 DIDevImage 프레임워크(framework)의 소스 코드를 변경할 수 있다.
소스 파일 : (SDK 루트) \Samples\Multimedia\DirectInput\DeviceView
실행 가능 파일 :(SDK 루트) \Samples\Multimedia\DirectInput\Bin\DeviceView.exe
애플리케이션을 실행 하면, 시스템의 각 Microsoft® DirectInput® 장치용의 탭이 표시된다. 장치 마다, 목적의 페이지의 값을 입력할까 스크롤 화살표를 사용해, 복수의 페이지를 스크롤 할 수 있다.
장치 개체를 선택하려면 , 장치의 이름을 클릭하는지, 장치 개체를 액티브하게 한다. 이것에 의해, 현재의 장치 개체명이 강조 표시되어 이용 가능한 경우는 개체의 오버레이 이미지가 표시된다.
맵되지 않은 개체를 비표시로 하려면 ,[Hide Unmapped] 체크 박스를 온으로 한다.
이 샘플은, 장치 이미지의 읽어들여, 스케일링, 렌더링을 처리하는 DIDevImage 프레임워크(framework)상에 구축되고 있다. 이 프레임워크(framework)를 사용하려면 , 다음과 같이 조작한다.
CIDevImage 프레임워크(framework)에는, 퀵 렌더링을 위한 최적화 기능이 몇개인가 준비되어 있지만, 애플리케이션에서는 프레임 마다 Render 메서드를 호출하지 않게 할 필요가 있다. 그 대신해, 사용자 입력에 의해 장치 이미지가 변경되었을 때에만, 프레임워크(framework)의 Render 메서드의 호출을 시도한다.
Microsoft Direct3D® 표면의 투명한 배경 등, 보다 고도의 기능의 사용법에 대해서는, CIDevImage 조각 워크의 소스 코드중에 있는 코멘트를 참조할것.
장치 구성의 사용자 인터페이스 (UI)를 생성 할 필요는 없다. DirectInput 에는 커스터마이즈 가능해,IDirectInput8::ConfigureDevices 메서드로 호출할 수 있는 UI 가 있다. 디폴트 UI 의 소스 코드는, 이 소프트웨어 개발 킷 (SDK)에도 포함되어 있다 (samples\cpp\DirectInput\diconfig). DirectInput 의 UI 와 DIDevImage 프레임워크(framework)의 UI 는,IDirectInputDevice8::GetImageInfo 메서드를 호출해 장치 이미지를 얻어온다.