Chương 3: Một số kỹ thuật trong lập trình trên .Net CF
lượt xem 40
download
Tài liệu tham khảo của ThS. Trần Minh Triết, trường Đại học khoa học tự nhiên, đại học quốc gia TP.Hồ Chí Minh - Khoa Công nghệ thông tin
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Chương 3: Một số kỹ thuật trong lập trình trên .Net CF
- Đại học Khoa học Tự nhiên, ĐHQG-HCM Khoa Công Nghệ Thông Tin Chương 3: Một số kỹ thuật trong lập trình trên .Net CF ThS. Trần Minh Triết 1 1
- Xác định đường dẫn của Ứng dụng Lấy danh sách các Assembly Xác định tự động đường dẫn của ứng dụng (runtime) m_startuppath = Trọn vẹn tên và System.Reflection.Assembly.GetExecutingAssembly(). của đường dẫn module GetModules()[0].FullyQualifiedName; m_startuppath = m_startuppath.Replace( Xóa tên file, System.Reflection.Assembly.GetExecutingAssembly(). giữ lại chỉ đường dẫn GetModules()[0].Name, "" ); m_BmBanCo =new Bitmap Tên của module (m_startuppath+"BanCoPocketPC.jpg"); m_BmQuanCo=new Bitmap (m_startuppath+"QuanCoPocKetPC.bmp"); m_BmChonCo=new Bitmap (m_startuppath+"ChonQuanPocketPC.bmp"); 2 2
- Xác định đường dẫn của Ứng dụng Sử dụng đường dẫn tuyệt đối (hard-code)!!! Phải biết trước đường dẫn (tuyệt đối) sẽ chứa chương trình thực thi public class Constant { public static int LEFT = 24; public static int TOP = 24; public static string AppPath = @"\Program Files\MummyMaze\"; public static string ImagesPath = @"\Program Files\MummyMaze\"; } 3 3
- Load ảnh từ file Có thể load các ảnh từ file vào đối tượng kiểu Bitmap Các định dạng ảnh thông dụng mà WinCE hỗ trợ (BMP, JPG, PNG…) Bitmap RedMummyBmp = new Bitmap(Constant.ImagesPath+"redmummy.bmp"); Bitmap HelloBmp = new Bitmap(Constant.ImagesPath+"hello.jpg"); 4 4
- Sử dụng Timer (1) Khai báo biến thuộc kiểu System.Windows.Forms.Timer private System.Windows.Forms.Timer MyTimer; Khởi tạo biến Timer private void InitializeComponent() { this.MyTimer = new System.Windows.Forms.Timer(); this.MyTimer.Interval = 300; // 300 ms this.MyTimer.Tick += new System.EventHandler(this.MyTimer_Func); } Tên hàm xử lý Timer 5 5
- Sử dụng Timer (2) Hàm xử lý mỗi khi xảy ra biến cố timer private void MyTimer_Func (object sender, System.EventArgs e) { flag = 1 flag; pictureBox1.Image = CompleteBmp[flag]; pictureBox1.Refresh(); } 6 6
- Sử dụng Timer (3) Kích hoạt timer MyTimer.Enabled = true; Tạm dừng timer MyTimer.Enabled = false; Hủy bỏ timer MyTimer.Dispose(); 7 7
- Sử dụng Graphics public void Draw(Graphics g) { ImageAttributes imgatt = new ImageAttributes(); imgatt.SetColorKey (Constant.BkColor, Constant.BkColor); g.DrawImage( HumanBmp, new Rectangle(left, top, width, height), Bmp_x*Constant.WidthSquare_pixel, Bmp_y*Constant.WidthSquare_pixel, Constant.WidthSquare_pixel, Constant.WidthSquare_pixel, GraphicsUnit.Pixel, imgatt); } 8 8
- Sử dụng Thread Khai báo biến kiểu Thread private Thread SoundThread; Tên hàm xử lý chính Tạo thread và khởi động thread của Thread private void PlaySound() { SoundThread = new Thread(new ThreadStart(PlaySoundFunc)); SoundThread.Priority = ThreadPriority.Highest; SoundThread.Start(); // Bắt đầu thread } Hàm xử lý chính của Thread private void PlaySoundFunc() { Sound.PlayMusic(Constant.AppPath + "music.wav"); } 9 9
- Xử lý Âm thanh (1) public class Sound { [DllImport("WinMM.dll", EntryPoint="PlaySound",CharSet=CharSet.Auto)] private static extern int PlaySoundWin32 (string pszSound, int hmod, int fdwSound) ; [DllImport("CoreDll.dll", EntryPoint="PlaySound",CharSet=CharSet.Auto)] private static extern int PlaySoundWinCE (string pszSound, int hmod, int fdwSound) ; ......... 10 10
- Xử lý Âm thanh (2) private enum SND { SND_SYNC = 0x0000, /* play synchronously (default) */ SND_ASYNC = 0x0001, /* play asynchronously */ SND_NODEFAULT = 0x0002, /* silence (!default) if sound not found */ SND_MEMORY = 0x0004, /* pszSound points to a memory file */ SND_LOOP = 0x0008, /* loop the sound until next sndPlaySound */ 11 11
- Xử lý Âm thanh (3) private enum SND { ...... SND_NOSTOP = 0x0010, /* don't stop any currently playing sound */ SND_NOWAIT = 0x00002000, /* don't wait if the driver is busy */ SND_ALIAS = 0x00010000, /* name is a registry alias */ SND_ALIAS_ID = 0x00110000, /* alias is a predefined ID */ ...... } 12 12
- Xử lý Âm thanh (4) private enum SND { ...... SND_FILENAME = 0x00020000, /* name is file name */ SND_RESOURCE = 0x00040004, /* name is resource name or atom */ SND_PURGE = 0x0040, /* purge nonstatic events for task */ SND_APPLICATION = 0x0080 /* look for application specific association */ }; 13 13
- Xử lý Âm thanh (5) private const int Win32 = 0 ; private const int WinCE = 1 ; private static int Windows = 1 ; public static void PlayMusic(string pszMusic) { int flags = (int)(SND.SND_ASYNC|SND.SND_FILENAME| SND.SND_NOWAIT|SND.SND_LOOP) ; sndPlaySound(pszMusic, flags) ; } 14 14
- Xử lý Âm thanh (6) private static void sndPlaySound (string pszSound, int flags) { switch ( Windows ) { case Win32 : PlaySoundWin32(pszSound, 0, flags) ; break ; case WinCE : PlaySoundWinCE(pszSound, 0, flags) ; break ; ...... 15 15
- Xử lý Âm thanh (7) default : try // Play if in Win32 platform { PlaySoundWin32(pszSound, 0, flags) ; Windows = Win32 ; } catch ( Exception ) { try // Play if in WinCE platform { PlaySoundWinCE(pszSound, 0, flags) ; Windows = WinCE ; } catch ( Exception ) { } } break ; } // switch } 16 16
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Bài giảng và bài tập mẫu Microsoft Excel 2007 - Chương 3: Các thao tác dữ liệu đặc biệt trong excel
25 p | 657 | 276
-
Phân tích và thiết kế giải thuật: Phân tích độ phức tạp một số giải thuật trên cấu trúc dữ liệu - Chương 3
0 p | 241 | 90
-
Bài tập kỹ thuật lập trình Part C++ 3
10 p | 176 | 43
-
Bài giảng Kỹ thuật đồ họa (Computer Graphics) - Trần Nguyên Ngọc
290 p | 252 | 38
-
Thiết kế kỹ thuật - Chương 9
9 p | 142 | 30
-
Đồ họa máy tính - Chương 3: Một số thuật toán đồ họa cơ bản
18 p | 361 | 30
-
Bài giảng học phần Thiết kế lập trình Web: Chương 3 - GV. Trần Minh Hùng
19 p | 146 | 21
-
Kiểm thử phần mềm: Phần 2
103 p | 18 | 9
-
Bài giảng Kỹ thuật lập trình: Chương 3 - Trần Thị Kim Chi
71 p | 60 | 7
-
Bài giảng Chương 3: Các kỹ thuật xây dựng chương trình phần mềm (Phần 3) - TS. Vũ Thị Hương Giang
49 p | 84 | 5
-
Bài giảng Kỹ thuật lập trình: Chương 3 (phần 1) - Võ Quang Hoàng Khang
39 p | 55 | 4
-
Bài giảng Tài liệu thực hành Tin học ứng dụng: Chương 3
200 p | 138 | 4
-
Bài giảng Kỹ thuật lập trình: Chương 3 - TS. Vũ Hương Giang (Phần 3)
49 p | 38 | 4
-
Bài giảng Kỹ thuật lập trình: Chương 3.3 - TS. Vũ Thị Hương Giang
49 p | 32 | 4
-
Bài giảng Kỹ thuật lập trình nâng cao: Chương 3 - ThS. Phạm Đào Minh Vũ
12 p | 47 | 3
-
Bài giảng Kỹ thuật lập trình cơ bản (C++): Chương 3 - ThS. Trần Nguyễn Anh Chi
14 p | 81 | 3
-
Bài giảng Kỹ thuật lập trình: Chương 3 (phần 3) - Võ Quang Hoàng Khang
31 p | 90 | 2
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn