• Vui lòng đọc nội qui diễn đàn để tránh bị xóa bài viết
  • Tìm kiếm trước khi đặt câu hỏi

Gõ Tiếng Việt trong ứng dụng VB6 Không Hook không Dll,OCX

Bộ sưu tập mã nguồn các ứng dụng tiện ích
User avatar
tuyen_dt18
Guru
Guru
Posts: 261
Joined: Sat 19/04/2008 8:46 pm
Location: Hưng Yên
Been thanked: 43 times
Contact:

Gõ Tiếng Việt trong ứng dụng VB6 Không Hook không Dll,OCX

Postby tuyen_dt18 » Thu 26/03/2009 2:49 am

Tên chương trình: Gõ tiếng việt không cần bộ gõ trong ứng dụng VB
Ngôn ngữ lập trình: VB6
Tác giả: tuyen_dt18
Chức năng: Gõ Tiếng Việt


Đây là module xử lý Tiếng Việt gồm cả chương trình demo nữa.
Chương trình không sử dụng hook bàn phím, không xài component gì hết.
Chỉ sử dụng được trong riêng ứng dụng bằng cách thao tác trong các sự kiện KeyPress và KeyDown của đối tượng TextBox.
Attachments
VBKey.rar
Gõ tiếng việt không cần bộ gõ trong ứng dụng VB
(9.07 KiB) Downloaded 3388 times


Hỏi ý kiến tác giả trước khi sử dụng hoặc trích dẫn rõ nguồn bài viết khi sử dụng.

User avatar
tuyen_dt18
Guru
Guru
Posts: 261
Joined: Sat 19/04/2008 8:46 pm
Location: Hưng Yên
Been thanked: 43 times
Contact:

Re: Gõ Tiếng Việt trong ứng dụng VB6 Không Hook không Dll,OCX

Postby tuyen_dt18 » Wed 08/04/2009 8:10 pm

Hôm nay mình Post tiếp một chương trình Demo của chương trình cũ (Gõ Tiếng Việt Telex, tùy chọn viết hoa đầu câu - sau dấu chấm và dấu cách ". ", tùy chọn đặt dấu kiểu cũ hay mới) ở trên có sửa đổi.

Cụ thể là mình dùng kỹ thuật MultiCasting để Áp dụng tính năng tự động nhận gõ Tiếng Việt mà không cần dùng bộ gõ cho tất cả các TextBox trong một ứng dụng, đỡ phải viết Code xử lý riêng cho mỗi TextBox.

Ở đây mình dùng Class Modules thay cho Module thông thường. Sau đó khai báo một biến đối tượng kiểu TextBox(ví dụ Public WithEvents AutoTB As TextBox-UniTextBox-FVUniTextBox,MsForms.TetBox,...Tùy vào tên TextBox mà các bạn đặt cho đúng.).

Tiếp đến là viết các sự kiện cần để xử lý Tiếng Việt cho biến đối tượng vừa khai báo:MouseDown,KeyDown,KeyPress,...
Sau đó mỗi khi muốn áp dụng, các bạn cần khai báo một biến thể hiện của Class Module đó(ví dụ trong Form:Dim SmartText As New clsAutoText), sau đó chỉ việc Set SmartText.AutoText="Tên của TextBox mà các bạn muốn áp dụng". Thế là OK.

Chú ý: Nếu không muốn phải viết nhiều lần Code, các bạn có thể Set ngay trong sự kiện Form_Load,...
Nhưng việc này đòi hỏi mỗi đối tượng TextBox phải có mộy biến thể hiện của Class. Không thể Set Biến thể hiện cho tất cả các TextBox cùng một lúc, vì nó sẽ chỉ nhận đối tượng TextBox cuối cùng mà các bạn gán thôi. Như mình, mình chỉ khai báo một biến thể hiện của Class, và trong mỗi sự kiện Got_Focus của mỗi TextBox mình lại thay đổi áp dụng cho TextBox có Focus. Việc này mất nhiều lần viết lại Code nếu như ứng dụng có quá nhiều TextBox, song nó tiết kiệm việc khai báo biến
Attachments
VBKey.rar
MultiCasting
(45.52 KiB) Downloaded 2159 times
Hỏi ý kiến tác giả trước khi sử dụng hoặc trích dẫn rõ nguồn bài viết khi sử dụng.

User avatar
andylam1992
Thành viên danh dự
Thành viên danh dự
Posts: 380
Joined: Mon 06/04/2009 12:57 pm
Location: TP.HCM Q5
Has thanked: 2 times
Been thanked: 4 times
Contact:

Re: Gõ Tiếng Việt trong ứng dụng VB6 Không Hook không Dll,OCX

Postby andylam1992 » Tue 21/07/2009 11:46 am

Đây nè. Mình sưu tầm được trong src BlueMediaPlayer. Mình post lên chia sẽ cho mọi người.
vd.JPG
vd.JPG (12.13 KiB) Viewed 8036 times

VniUnicode.rar
Src
(2.54 KiB) Downloaded 2513 times

不相信未作牺牲竟先可拥有
只相信是靠双手找到我欲求
Cần - Kiệm- Liêm(liêm kiết) - Nghĩa - Chí - Tín


Return to “[VB] Mã nguồn chương trình tiện ích”

Who is online

Users browsing this forum: No registered users and 0 guests