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
Đăng trả lời
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: Thứ 2 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ài by pctester2020 »

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     thuongall@yahoo.com
  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
Hình đại diện của thành viên
gtdcomputer
Thành viên danh dự
Thành viên danh dự
Bài viết: 1296
Ngày tham gia: Thứ 6 18/07/2008 12:08 pm
Đến từ: Kiên Giang
Has thanked: 8 times
Been thanked: 116 times
Tiếp xúc:

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

Gửi bài by gtdcomputer »

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 thành viên
Kasper
Guru
Guru
Bài viết: 1063
Ngày tham gia: Thứ 6 16/05/2008 10:54 am
Has thanked: 2 times
Been thanked: 76 times
Tiếp xúc:

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

Gửi bài by Kasper »

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 thành viên
taykhongbatgiac
Guru
Guru
Bài viết: 84
Ngày tham gia: Thứ 5 10/11/2005 2:50 pm
Đến từ: Chùa
Been thanked: 7 times

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

Gửi bài by taykhongbatgiac »

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: Thứ 2 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ài by pctester2020 »

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 thành viên
Kasper
Guru
Guru
Bài viết: 1063
Ngày tham gia: Thứ 6 16/05/2008 10:54 am
Has thanked: 2 times
Been thanked: 76 times
Tiếp xúc:

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

Gửi bài by Kasper »

À 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.
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: Thứ 7 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

Gửi bài by tindl88 »

Chuyển theme qua classic không ổn...
Code này đã có trong vblib
cứng nhắc...vớ vẩn
bboy_nonoyes
Bài viết: 8
Ngày tham gia: Thứ 2 09/02/2009 2:27 pm
Đến từ: http://nguoibaclieu.com
Has thanked: 3 times
Been thanked: 1 time
Tiếp xúc:

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

Gửi bài by bboy_nonoyes »

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 thành viên
float01
Thành viên năng nổ
Thành viên năng nổ
Bài viết: 97
Ngày tham gia: Thứ 3 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

Gửi bài by float01 »

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: Thứ 5 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

Gửi bài by buivantoan10i1 »

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ó
Đăng trả lời

Quay về