MFC flash 연동하기 - 1
- Module/WindowsMFC
- 2008. 9. 18.
1. 개요
<초기화면>
지금 부터 무엇을 설명 하려고 하는가!?
아래의 그림을을 잘 보길 바랍니다.
프로그램의 실행시 환경설정을 해주는 부분입니다.
1. 가로, 세로 -> 현재 컴퓨터의 해상도를 받아와 출력함
2. 모니터 개수 -> User 가 1~8까지 입력을 합니다.(모니터 최대8개까지)
3. 아래부분에는 flash 를 최대 4개까지 연결이 가능한데 경로를 적습니다.
4. Flash Count -불러들일 플래쉬(swf) 의 수를 라디오 버튼으로 입력(1~4)
프로그램의 환경 설정이 끝이 나고 나서 실행의 화면 모습입니다.
Ex> 모니터1개, 플래쉬 2개
<실행시화면>
1. 1개의 모니터에 2개의 플래쉬 화면이 뜬 모습입니다.
* ( 이 이외에도 모니터는 1~8개까지 설정할수있으며 플래쉬(swf) 파일의 갯수는 최대 4개까지 설정을 할수 있습니다.
<활용방안>
현재 8개의 모니터에 플래쉬 2개씩 띄워 네트워크 전송으로 이미지들을 플래쉬간에 통신을 하여 4개의 플래쉬가 하나의 플래쉬 처럼 만들 수 있습니다.
2. 내용
이 강좌는 VC++6.0에서 MFC 어플리케이션과 Flash와의 상호 연동을 위한 것입니다.
따라서 MFC에 대한 지식을 동시에 요구합니다.
MFC와 Flash를 서로 상호 연동한다는 것은 두 프로그램간의 변수를 서로 주고 받는 다는 것을 의미합니다. Flash에서는 어떤 작업이 완료 되었으니 다음 작업지시를 해달라고 MFC쪽에 변수를 하나 날리는겁니다. 그럼 MFC에서는 알았다고 다음 작업지시를 다시 Flash로 내려줍니다.
이때 MFC와 Flash간에 사용될 변수들은 미리 정의되어 있어져야 합니다.
<1: Flash Part>
플래시에서 해주어야 할 것은 MFC쪽에서 주는 변수를 받을때 사용할 변수가 하나 선언되어 있어야 합니다.
그러면 MFC에서 데이터를 Flash쪽으로 날려줄때 해당 변수로 값이 들어가게 됩니다.
그러면 플래시에서는 이 값을 받은 즉시 어떤 작업을 하기 위해서 onEnterFrame 으로 잡아내던지
watch 함수를 이용해서 잡아내던지 하면 되는 것입니다.
<2: MFC Part>
꼭 MFC를 고집하는 이유가 있습니다. 쉽기 때문이죠. MFC가 싫다고 하시면 C++ API로 MFC 다이얼로그를 직접 구현해서 ActiveX를 띄워야 합니다. 불가능 한건 아니지만 정말 어렵습니다. 플래시 자체가 원래 MFC로 만들어진 것이기 때문에 MFC를 빼고서는 서로 얘기가 되지 않는 것입니다.
그래서 다들 MFC나 C#을 사용할 것을 권하는 것입니다.
< Visual studio 에 Flash Control 을 넣기 >
일단 MFC 어플리케이션 응용프로그램에서 ActiveX를 붙이면 됩니다. 아주 간단합니다.
1. [File] - [ New ] - [ MFC Application (EXE) 를 선택
2. MFC 응용프로그램 프로젝트 생성
3. VC++6 을 기준으로 Project -> Add To Project -> Components and Controls 를 선택
"Shockwave Flash Object" 를 선택합니다.
Class Wizard 가 정상적으로 작동하는 프로젝트라면 CShockwaveFlash 라는 클래스를 생성하는 창이 뜰것입니다. 이 창이 뜨지 않으면 안됍니다.
< Flash ActiveX Controls 생성 후 Dlg 및 class 생성하기 >
그러면 ShockwaveFlash 클래스를 생성하고 나면 리소스 편집기에서 도구상자에서 맨 아래에 빨간색 X자 표시가 되어 있는 문서모양의 아이콘이 보일것입니다. 이것이 플래시를 보여주기 위한 것입니다.
그리고 다이얼로그박스에 이 플래시를 넣어줍니다.
그리고 Member Variables 를 추가해주기 위해 Class Wizard 를 띄웁니다.
Member Variables 탭으로 이동한뒤 보시면 Control ID에 IDC_SHOCKWAVEFLASH 라는 상수가 있을겁니다. 이것을 선택하고 옆의 Add Variables 버튼을 클릭하면 이제 Member Variable 을 추가하는 창이 뜹니다.
m_ 하고 옆에다가 이름을 적으면 됩니다. 여기에 적은 이름은 나중에 이 플래시를 컨트롤 하는 인스턴스네임으로 쓰여집니다.
'Module > WindowsMFC' 카테고리의 다른 글
WCHAR 를 CHAR 로 바꾸기... (0) | 2008.10.07 |
---|---|
recv() WCHAR 로 받을때 (0) | 2008.10.07 |
AfxActivateActCtx() 함수의 메모리 릭 에러..!! (1) | 2008.08.22 |
vs2005 CString to float, double (0) | 2008.08.21 |
cannot convert parameter 1 from 'char [40]' to 'LPWSTR' 에러 발생시 해결 방법 (0) | 2008.08.21 |