DirectInput DirectInput C/C++ 샘플 DeviceView 샘플   [목차열람] [주소복사] [슬롯비우기]
DeviceView 샘플
 
Microsoft DirectX 9.0

DeviceView 샘플


설명

이 샘플은, (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)를 사용하려면 , 다음과 같이 조작한다.

  1. CDIDevImage 클래스의 인스턴스를 생성 한다.
  2. CIDevImage::Init 메서드의 IDirectInputDevice8 개체에 포인터를 건네주어, CIDevImage 개체를 초기화한다.
  3. CIDevImage::SetCalloutText 메서드에의 일련의 호출에 의해, 각 개체에 관련짓는 이름을 설정한다.
  4. 장치 문맥을 CIDevImage::RenderToDC 메서드에 건네주는지,IDirect3DTexture9 개체를 CIDevImage::Render 메서드에 건네주어, 클라이언트 애플리케이션의 개체에 관련된 이미지를 렌더링 한다.
  5. DIDevImage::SetCalloutState 메서드에 적절한 플래그를 건네주어, 각 개체에 관련된 이름을 강조 표시, 풀네임을 표시, 또는 비표시로 한다.

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 메서드를 호출해 장치 이미지를 얻어온다.



© 2002 Microsoft Corporation. All rights reserved.
↑TOP