도움말: flash.ocx 컨트롤의 로딩 문제를 해결하는 방법은 무엇입니까?
ActiveX 컨트롤을 사용하여 C++ Builder에서 플래시 애니메이션 표시
Microsoft의 강력한 지원으로 점점 더 많은 소프트웨어 회사가 Xi에 매우 중요한 ActiveX를 지원하기 시작했습니다.
p>
프로그래밍을 좋아하는 친구들에게는 이것이 행복한 일입니다! 프로그램에서 외부 OCX 파일을 쉽게 호출하여 프로그램에서 >HTML 파일을 표시하기 위해 프로그램에서 IE를 호출하는 등의 복잡한 기능을 구현할 수 있기 때문입니다(Bill Gates가 이번에는 마침내 좋은 일을 했습니다). 오늘은 ActiveX 컨트롤을 사용하여 C++Builder에서 Flash 애니메이션을 표시하는 방법을 소개하고 싶습니다.
Builder.
1. ActiveX 컨트롤 설치 및 가져오기
이 기사의 주인공은 swflash.ocx입니다. 이 파일은 Windows98과 함께 기본 모드로 제공됩니다.
Windows "Windows\System\Macromed\Flash" 디렉터리에 설치됩니다. 설치 시 "기본 설치"를 선택하지 않은 경우 Win98 설치 CD에서 win98_68.cab 파일을 찾아보세요.
< 피>그.C++ Builder는 ActiveX 지원에 탁월한 역할을 했다고 할 수 있습니다.
시스템에서 ActiveX 컨트롤을 쉽게 가져올 수 있습니다. "Component->ActiveX 컨트롤 가져오기
", 위의 컨트롤 목록에서 "ShockWave Flash(버전 1.0)"를 선택한 다음(그림 1)
아래의 "설치" 버튼을 클릭하세요! 컨트롤 목록에 없으면 ShockWave
Flash 컨트롤이 시스템에 등록되지 않았음을 의미합니다. 중요하지 않습니다. "추가" 버튼을 클릭하여 찾을 수 있습니다. 컴퓨터.
이 OCX 파일을 설치한 후 C++ Builder가 자동으로 등록합니다.
2. 플래시 애니메이션 표시 프로그래밍
가져오기가 성공한 후 C++ Builder는 "ShockWaveFlash" 컨트롤(그림 2)을 ActiveX 페이지에 추가하여 새 프로젝트를 생성합니다. , ShockWaveFlash 컨트롤을 적절한 위치에 배치하고
크기를 적절하게 조정한 다음 "Movie" 속성을 하드 드라이브에 있는 기존 속성으로 채웁니다.
플래시 애니메이션 파일 이름 (예: c:\flash\test.swf), F9를 눌러 실행해 보세요. 코드 한 줄도 작성하지 않고도 플래시 애니메이션을 표시할 수 있는 프로그램을 만들어 보는 것은 어떨까요?
프로그램!
그러나 더 나은 작동을 위해서는 ShockWaveFlash 컨트롤의 속성과 메서드도 이해해야 합니다.
속성 AlignMode(int 유형) 및 SAlign(WideString 유형) 애니메이션의 표시 위치 제어
(이 두 속성을 함께 나열하면 서로 관련되어 있음을 알 수 있으며 하나를 변경하면 그에 따라 다른 것도 변경됩니다.
유사한 상황에서는 변경되지 않습니다. 나중에 설명하겠습니다.)
값 범위와 의미는 다음과 같습니다:
0 빈 현재 위치
1 L 현재 위치 왼쪽
2 R 현재 위치 오른쪽
p>
3 LR 현재 위치는 중앙
4 T 현재 위치는 상단
5 LT 왼쪽 상단
6 TR 오른쪽 상단
7 LTR 상단 중앙
8 B 현재 위치가 더 낮음
9 LB 왼쪽 아래
10 RB 오른쪽 아래
11 LRB 하단 중앙
12TB 현재 위치 수직 중앙
13 LTB 왼쪽 수직 중앙
14 TRB 오른쪽 수직 중앙
15 LTRB 중앙 position
속성 BackgroundColor(int 유형) 및 BGColor(WideString 유형)는 배경색을 설정합니다.
, BackgroundColor는 정수 값이고 BGColor는 HEX 문자열입니다.
속성 루프(bool 유형) 루프로 표시할지 여부
속성 메뉴(bool 유형) 오른쪽 클릭 메뉴 표시 여부, true로 설정하는 것이 좋습니다, 완료될 수 있기 때문입니다.
Flash 애니메이션에 대한 대부분의 제어는 코드를 작성하지 않고도 작동합니다.
속성 동영상(WideString 유형) 실행 중인 상태에서 Flash 애니메이션의 파일 이름을 동적으로 설정할 수 있습니다.
애니메이션을 닫으려면 공백으로 설정하면 됩니다.
Quality(int 유형) 및 Quality2(WideString 유형) 속성은 애니메이션의 표시 품질을 제어합니다.
일반적으로 고품질 표시 효과를 얻으려면 Quality를 1로 설정합니다.
ScaleMode(int 유형) 및 scale(WideString 유형) 속성은 애니메이션의 표시 비율을 제어합니다.
값 범위와 의미는 다음과 같습니다.
0 ShowAll 모두 표시
1 NoBorder 경계선 없음 모드
2 ExactFit이 전체 화면으로 확장됨
3 빈 원본 크기
메서드 PercentLoaded 애니메이션이 로드되었음을 백분율로 반환하면 ProgressBar를 만들어 애니메이션 로드 진행률을 표시할 수 있습니다.
LoadMovie 메소드는 애니메이션 파일 이름을 BSTR 유형
URL 값으로 변환하는 데 사용됩니다. Char 유형 문자열
BSTR 유형으로.
위에서 소개한 속성과 메서드를 사용하여 잘 활용하셨다고 생각합니다! 불행하게도
ShockWaveFlash 제어 기능은 아직 완벽하지 않습니다. 예를 들어 애니메이션의 실제 크기와 배경색 등을 반환할 수 없지만
우리에게는 필요한 부분만 있으면 됩니다. 특정 For Flash 애니메이션을 표시하는 데에는 이러한 사항이 중요하지 않습니다
.
3. ActiveX 컨트롤 등록
다른 사람이 귀하의 프로그램을 사용하도록 하여 다른 사람이 swflash를 설치하거나 등록하지 않는 것을 방지하려면.
ocx 파일 프로그램을 실행할 수 없는 경우 OCX 파일을 첨부하여 프로그램에서 시스템에 등록해야 합니다. 등록 방법에는 두 가지가 있습니다.
방법 1: 외부 프로그램 Regsvr32.exe 호출
등록: ShellExecute(Handle,NULL,"regsvr32.exe","swflash.ocx",
NULL,SW_SHOWNORMAL);
등록 방지: ShellExecute(Handle,NULL ,"regsvr32.exe","/u swflash.
ocx",NULL,SW_SHOWNORMAL);
방법 2: 컨트롤 자체 호출 등록 및 등록 취소 기능 포함
p>각 OCX 컨트롤은 컨트롤 자체를 등록 및 등록 취소할 수 있는 "DllRegisterServer" 및 "
DllUnRegisterServer"라는 두 가지 출력 함수를 제공합니다.
LoadLibrary를 사용할 수 있습니다. () 및 GetProcAddress()를 호출합니다. 이는 DLL 라이브러리를 동적으로 호출하는 것과 동일한 방법입니다.
여기에서는 자세히 설명하지 않겠습니다.
4. 경험
마지막으로 ActiveX 컨트롤을 사용하는 기술도 소개하고 싶습니다.
일반 ActiveX 컨트롤에는 도움말 파일이 없습니다. C++Builder의 IDE 환경에서는
디자인 타임 속성과 이벤트만 볼 수 있는데 어떻게 알 수 있나요? 런타임 속성과 메소드는 어떻습니까
? C++ Builder는 ActiveX 컨트롤을 가져온 후 "Imports" 디렉터리에 해당 헤더 파일(*.h)을 생성합니다. 파일을 열어서 한 눈에 알아볼 수 있습니다.
또한 다양한 속성과 메소드, 해당 매개변수의 의미도 이해해야 하므로 이를 프로그래밍하고 사용해 보아야 합니다.
각 속성과 메소드에 대한 프로그램을 작성해야 합니다. 메뉴 항목을 클릭하면 입력 상자를 사용하여 매개변수를 입력하여 효과를 테스트할 수도 있습니다. 관련 변수의 값을 표시하는 상태 표시줄도 만들 수 있습니다.
글을 너무 많이 써서 이해하셨는지 궁금하네요. 서둘러 오늘날 가장 인기 있는 플래시 애니메이션을 프로그램에 추가하여 친구들의 부러움을 사세요!