Thứ Tư, 26 tháng 5, 2010

Chèn flash trong VB.NET

Hỏi: Có thể chèn tập tin Flash SWF vào form trong Visual Basic .NET hay không? Nếu có thể chèn được thì xin cho biết mã cụ thể. Cảm ơn!


Việc thêm một tập tin Flash vào form như bạn hỏi được thực hiện bằng một Shockwave Flash control. Trên máy bạn cần cài đặt Macromedia Flash 8.0 (hoặc phiên bản mới hơn), hoặc cần đăng ký tập tin Flash8.OCX vào Registry bằng lệnh:
Regsvr32 /s Flash8.OCX
Ví dụ sau đây được thực hiện với VB 2005 phiên bản Professional và phiên bản Macromedia Flash 8.0 ActiveX Control:
- Tạo một project mới trong VB 2005.
- Trong cửa sổ Solution Explore, bấm chuột phải vào mục References và chọn mục Add Reference. Trong hộp thoại Add Reference, chọn phân trang COM, chọn mục Shockwave Flash (tôi đang sử dụng Windows XP, cột TypeLib Version là 1.0, đường dẫn đến tập tin là C:\WINDOWS\system32\Macromed\Flash\Flash8.ocx) rồi bấm nút OK. Khi ấy, ShockwaveFlashObject được thêm vào danh sách References.
- Bấm chuột phải vào vùng trống của Toolbox, chọn mục Choose Items trên trình đơn vừa hiện ra (hoặc chọn mục Choose Box Items trên trình đơn Tools) để hiển thị hộp thoại Choose Toolbox Items. Trong hộp thoại này, chọn phân trang COM Components, chọn mục Shockwave Flash Object rồi bấm nút OK. Khi ấy, ShockwaveFlashObject được thêm vào Toolbox.
- Trên Toolbox, chọn ShockwaveFlashObject để vẽ một ShockwaveFlashObject control lên form Form1 mặc định. Có thể bạn sẽ nhận được thông báo lỗi: "Failed to import the ActiveX control. Please ensure it is properly registered". Bạn cứ bấm nút OK. Lúc đó, trong danh sách References sẽ xuất hiện thêm AxShockwaveFlashObject với biểu tượng tam giác màu vàng. Để khắc phục lỗi, bấm chuột phải vào tên project (nằm ở mục đầu tiên) trong Solution Explorer, chọn mục Rebuild. Khi việc tạo lại project thành công (biểu tượng tam giác màu vàng biến mất), bạn sẽ vẽ được đối tượng AxShockwaveFlashObject lên form. Cũng có thể bạn phải làm điều này một hoặc hai lần mới được.
- Bạn bấm vào ShockwaveFlashObject trên Toolbox rồi vẽ một đối tượng AxShockwaveFlashObject lên form. Vẽ tiếp 2 nút lệnh có tên Button1 (thuộc tính Caption là Play) và Button2 (thuộc tính Caption là Exit) như hình 1.
- Sau đó, gõ đoạn mã 1. Nhấn phím F5 để chạy thử, bấm nút lệnh Play để xem Flash.

Đoạn mã 1

Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles Button1.Click
With (AxShockwaveFlash1)
.Stop()
.Movie = "D:\FlashObjectOnForm\ClockAnalo_uialfoot.swf"
.Play()
End With
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles Button2.Click
AxShockwaveFlash1.Dispose()
Application.Exit()
End Sub
End Class

0 nhận xét:

Đăng nhận xét