• 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
Bài viết: 26
Ngày tham gia: T.Hai 22/12/2008 11:33 am
Been thanked: 1 time

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

Gửi bàigửi bởi pctester2020 » T.Tư 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.  



Hình đại diện của người dùng
gtdcomputer
Thành viên danh dự
Thành viên danh dự
Bài viết: 1296
Ngày tham gia: T.Sáu 18/07/2008 12:08 pm
Đến từ: Kiên Giang
Has thanked: 8 time
Been thanked: 117 time
Liên hệ:

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

Gửi bàigửi bởi gtdcomputer » T.Năm 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

Hình đại diện của người dùng
Kasper
Guru
Guru
Bài viết: 1062
Ngày tham gia: T.Sáu 16/05/2008 10:54 am
Has thanked: 2 time
Been thanked: 76 time
Liên hệ:

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

Gửi bàigửi bởi Kasper » T.Năm 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.

Hình đại diện của người dùng
taykhongbatgiac
Guru
Guru
Bài viết: 84
Ngày tham gia: T.Năm 10/11/2005 2:50 pm
Đến từ: Chùa
Been thanked: 7 time

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

Gửi bàigửi bởi taykhongbatgiac » T.Năm 09/09/2010 9:08 am

Kasper đã viết:Đã 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
Bài viết: 26
Ngày tham gia: T.Hai 22/12/2008 11:33 am
Been thanked: 1 time

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

Gửi bàigửi bởi pctester2020 » T.Năm 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...

Hình đại diện của người dùng
Kasper
Guru
Guru
Bài viết: 1062
Ngày tham gia: T.Sáu 16/05/2008 10:54 am
Has thanked: 2 time
Been thanked: 76 time
Liên hệ:

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

Gửi bàigửi bởi Kasper » T.Sáu 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

Gửi bàigửi bởi htpc » T.Sáu 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
Bài viết: 363
Ngày tham gia: T.Bảy 26/04/2008 6:10 pm
Has thanked: 16 time
Been thanked: 10 time

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

Gửi bàigửi bởi tindl88 » T.Sáu 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

Gửi bàigửi bởi htpc » T.Sáu 10/09/2010 10:54 am

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

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

bboy_nonoyes
Bài viết: 8
Ngày tham gia: T.Hai 09/02/2009 2:27 pm
Đến từ: http://nguoibaclieu.com
Has thanked: 3 time
Been thanked: 1 time
Liên hệ:

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

Gửi bàigửi bởi bboy_nonoyes » CN 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...

Hình đại diện của người dùng
float01
Thành viên năng nổ
Thành viên năng nổ
Bài viết: 97
Ngày tham gia: T.Ba 31/08/2010 2:46 pm
Has thanked: 20 time
Been thanked: 9 time

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

Gửi bàigửi bởi float01 » T.Ba 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
Bài viết: 34
Ngày tham gia: T.Năm 27/12/2012 9:59 pm
Has thanked: 1 time
Been thanked: 2 time

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

Gửi bàigửi bởi buivantoan10i1 » CN 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ó


Quay về “[VB] Ứng dụng - Form và Control”

Đang trực tuyến

Đang xem chuyên mục này: Không có thành viên nào trực tuyến.1 khách