• 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

Tạo tiêu đề Form Tiếng Việt đơn giản

Các thủ thuật liên quan đến việc xử lý ứng dụng, biểu mẫu và control
pctester2020
Thành viên chính thức
Thành viên chính thức
Posts: 26
Joined: Mon 22/12/2008 11:33 am
Been thanked: 1 time

Tạo tiêu đề Form Tiếng Việt đơn giản

Postby pctester2020 » Wed 08/09/2010 9:52 am

Thủ thuật: Tạo tiêu đề Form Tiếng Việt đơn giản
Tác giả: pctester2020@gmail.com
Mô tả: Hướng dẫn các bạn tạo tiêu đề Form Tiếng Việt đơn giản


Xin chào các bạn,

Sau thời gian nghiên cứu, tìm hiểu và tham khảo. Tôi đã có thể hiển thị Tiếng Việt trên thanh tiêu đề của Form, tôi chia sẽ code cùng các bạn:

  1.  
  2. 'Unicode cho Title cua Form
  3. Private Declare Function DefWindowProcW Lib "user32" (ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
  4.  
  5. Public Sub SetUniFormCaption(ByVal hWnd As Long, ByVal sUniText As String)
  6. '---------------------------------------------------------------------------------------
  7. ' Function  : SetUniFormCaption (Unicode TitleBar, Frame, Button, CheckBox, Option)
  8. ' Author    : <!-- e --><a href="mailto:thuongall@yahoo.com">thuongall@yahoo.com</a><!-- e -->
  9. ' Address   : Dong Khoi
  10. '---------------------------------------------------------------------------------------
  11.  
  12.     DefWindowProcW hWnd, &HC, &H0&, StrPtr(sUniText)  'WM_SETTEXT=&HC
  13. End Sub
  14.  
  15. Public Function Telex2Uni(ByVal TelexStr As String) As String ' Chuyen chuoi go theo kieu Telex thanh chuoi tieng Viet Unicode
  16. '---------------------------------------------------------------------------------------
  17. ' Function  : Telex2Uni
  18. ' Author    : phantronghiep07
  19. ' Phone     : 0915 080 282
  20. '---------------------------------------------------------------------------------------
  21.    Dim i As Integer
  22.     Dim MaAcii, Telex
  23.    
  24.      MaAcii = Array(7845, 7847, 7849, 7851, 7853, 226, 225, 224, 7843, 227, 7841, 7855, 7857, 7859, _
  25.                                 7861, 7863, 259, 250, 249, 7911, 361, 7909, 7913, 7915, 7917, 7919, 7921, 432, _
  26.                                 7871, 7873, 7875, 7877, 7879, 234, 233, 232, 7867, 7869, 7865, 7889, 7891, 7893, _
  27.                                 7895, 7897, 244, 243, 242, 7887, 245, 7885, 7899, 7901, 7903, 7905, 7907, 417, _
  28.                                 237, 236, 7881, 297, 7883, 253, 7923, 7927, 7929, 7925, 273, 7844, 7846, 7848, _
  29.                                 7850, 7852, 194, 193, 192, 7842, 195, 7840, 7854, 7856, 7858, 7860, 7862, 258, _
  30.                                 218, 217, 7910, 360, 7908, 7912, 7914, 7916, 7918, 7920, 431, 7870, 7872, 7874, _
  31.                                 7876, 7878, 202, 201, 200, 7866, 7868, 7864, 7888, 7890, 7892, 7894, 7896, 212, _
  32.                                 211, 210, 7886, 213, 7884, 7898, 7900, 7902, 7904, 7906, 416, 205, 204, 7880, 296, _
  33.                                 7882, 221, 7922, 7926, 7928, 7924, 272)
  34.                        
  35.      Telex = Array("aas", "aaf", "aar", "aax", "aaj", "aa", "as", "af", "ar", "ax", "aj", "aws", "awf", _
  36.                             "awr", "awx", "awj", "aw", "us", "uf", "ur", "ux", "uj", "uws", "uwf", "uwr", "uwx", _
  37.                             "uwj", "uw", "ees", "eef", "eer", "eex", "eej", "ee", "es", "ef", "er", "ex", "ej", _
  38.                             "oos", "oof", "oor", "oox", "ooj", "oo", "os", "of", "or", "ox", "oj", "ows", "owf", _
  39.                             "owr", "owx", "owj", "ow", "is", "if", "ir", "ix", "ij", "ys", "yf", "yr", "yx", "yj", _
  40.                             "dd", "AAS", "AAF", "AAR", "AAX", "AAJ", "AA", "AS", "AF", "AR", "AX", _
  41.                             "AJ", "AWS", "AWF", "AWR", "AWX", "AWJ", "AW", "US", "UF", "UR", "UX", _
  42.                             "UJ", "UWS", "UWF", "UWR", "UWX", "UWJ", "UW", "EES", "EEF", "EER", _
  43.                             "EEX", "EEJ", "EE", "ES", "EF", "ER", "EX", "EJ", "OOS", "OOF", "OOR", _
  44.                             "OOX", "OOJ", "OO", "OS", "OF", "OR", "OX", "OJ", "OWS", "OWF", "OWR", _
  45.                             "OWX", "OWJ", "OW", "IS", "IF", "IR", "IX", "IJ", "YS", "YF", "YR", "YX", _
  46.                             "YJ", "DD")
  47.                            
  48.     Telex2Uni = TelexStr
  49.     For i = 0 To 133
  50.         Telex2Uni = Replace(Telex2Uni, Telex(i), ChrW(MaAcii(i)))
  51.     Next i
  52.     Telex2Uni = Replace(Telex2Uni, "'", "") ' Neu muon hien thi ko dau thi phai go ky tu ' . Vd: Vi'sual Ba'sic
  53. End Function
  54.  
  55. Private Sub Form_Load()
  56.     'Go tieng viet kieu Telex
  57.    SetUniFormCaption Me.hWnd, Telex2Uni("Vis duj hieern thij Tieesng Vieejt treen tieeu ddeef Fo'rm")
  58. End Sub
  59.  



User avatar
gtdcomputer
Thành viên danh dự
Thành viên danh dự
Posts: 1296
Joined: Fri 18/07/2008 12:08 pm
Location: Kiên Giang
Has thanked: 8 times
Been thanked: 117 times
Contact:

Re: Tạo tiêu đề Form Tiếng Việt đơn giản

Postby gtdcomputer » Thu 09/09/2010 7:59 am

Tớ thử thấy cũng ổn mà! Bác thử xem lại font hiển thị của caption xem.
Con người không quan tâm đến sự thật. Họ tin cái họ muốn, và về sau, cái đó sẽ trở thành sự thật

User avatar
Kasper
Guru
Guru
Posts: 1063
Joined: Fri 16/05/2008 10:54 am
Has thanked: 2 times
Been thanked: 76 times
Contact:

Re: Tạo tiêu đề Form Tiếng Việt đơn giản

Postby Kasper » Thu 09/09/2010 8:02 am

Tớ thử thấy cũng ổn mà! Bác thử xem lại font hiển thị của caption xem.


Đã thử với nhiều loại font nhưng vẫn không hiển thị đúng, không biết sao luôn.
Lành tợ tòng, ác tợ hoa,
Nhà hòa muôn việc đều nên.

User avatar
taykhongbatgiac
Guru
Guru
Posts: 84
Joined: Thu 10/11/2005 2:50 pm
Location: Chùa
Been thanked: 7 times

Re: Tạo tiêu đề Form Tiếng Việt đơn giản

Postby taykhongbatgiac » Thu 09/09/2010 9:08 am

Kasper wrote:Đã thử với nhiều loại font nhưng vẫn không hiển thị đúng, không biết sao luôn.
Do thiết lập windows không chọn unicode cho Title bar (active và inactive title bar). Bạn vào Appearance / Advanced để chọn lại.
Nhân bớt học bớt phi lý (Lê Lèo). Không chat, không messages, không mail, không offline.

pctester2020
Thành viên chính thức
Thành viên chính thức
Posts: 26
Joined: Mon 22/12/2008 11:33 am
Been thanked: 1 time

Re: Tạo tiêu đề Form Tiếng Việt đơn giản

Postby pctester2020 » Thu 09/09/2010 10:01 am

Chào Kasper,

Bạn hãy thao tác theo taykhongbatgiac nhé. Bạn có thể chọn Font: Segoe UI, Arial...

User avatar
Kasper
Guru
Guru
Posts: 1063
Joined: Fri 16/05/2008 10:54 am
Has thanked: 2 times
Been thanked: 76 times
Contact:

Re: Tạo tiêu đề Form Tiếng Việt đơn giản

Postby Kasper » Fri 10/09/2010 9:57 am

À ra thế, tại tui để font mặt định của windows là Trebuchet MS
Lành tợ tòng, ác tợ hoa,
Nhà hòa muôn việc đều nên.

htpc

Re: Tạo tiêu đề Form Tiếng Việt đơn giản

Postby htpc » Fri 10/09/2010 10:43 am

Làm thêm cái chỉnh font mặc định nữa cho tượng thích :D

tindl88
Thành viên tâm huyết
Thành viên tâm huyết
Posts: 363
Joined: Sat 26/04/2008 6:10 pm
Has thanked: 16 times
Been thanked: 10 times

Re: Tạo tiêu đề Form Tiếng Việt đơn giản

Postby tindl88 » Fri 10/09/2010 10:47 am

Chuyển theme qua classic không ổn...
Code này đã có trong vblib
cứng nhắc...vớ vẩn

htpc

Re: Tạo tiêu đề Form Tiếng Việt đơn giản

Postby htpc » Fri 10/09/2010 10:54 am

tindl88 wrote:Chuyển theme qua classic không ổn...
Code này đã có trong vblib

Đúng rồi đó, kiếm trong đó có đó :D

bboy_nonoyes
Posts: 8
Joined: Mon 09/02/2009 2:27 pm
Location: http://nguoibaclieu.com
Has thanked: 3 times
Been thanked: 1 time
Contact:

Re: Tạo tiêu đề Form Tiếng Việt đơn giản

Postby bboy_nonoyes » Sun 24/10/2010 12:06 am

Bác này dùng hàm DefWindowProc sử dụng bảng mã ASCII à! Hồi nào tới giờ toàn xài ChrW...

User avatar
float01
Thành viên năng nổ
Thành viên năng nổ
Posts: 97
Joined: Tue 31/08/2010 2:46 pm
Has thanked: 20 times
Been thanked: 9 times

Re: Tạo tiêu đề Form Tiếng Việt đơn giản

Postby float01 » Tue 09/11/2010 10:04 am

dùng bộ gõ Unicode chọn bảng mã Vietnammise locale CP 1258
Viết được tiếng VIệt trên Form, buttom bằng unicode

buivantoan10i1
Thành viên chính thức
Thành viên chính thức
Posts: 34
Joined: Thu 27/12/2012 9:59 pm
Has thanked: 1 time
Been thanked: 2 times

Re: Tạo tiêu đề Form Tiếng Việt đơn giản

Postby buivantoan10i1 » Sun 28/04/2013 6:19 pm

bác ơi mình muốn đặt cho mdi thì làm sao em thấy nó không dc bác à
nó nhảy ra rồi lại chạy về caption mặc định của nó


Return to “[VB] Ứng dụng - Form và Control”

Who is online

Users browsing this forum: No registered users and 1 guest