Tạo chữ unicode của caption trên Userform

  • Thread starter Tuanktcdcn
  • Ngày gửi
T

Tuanktcdcn

Lão già ham vui
18/6/04
549
52
28
47
Hà Nội
www.bluesofts.net
unicodecaption.jpg

Thông thường chúng ta không thể viết chữ có dấu/unicode trên caption của userform. Một phương pháp tôi muốn giới thiệu các bạn là dùng hàm API DefWindowProcW của Windows để làm được việc này rất đơn giản. Phương pháp như sau:
Bước 1: Bạn hãy tạo hoặc mở userform trong VBA
Bước 2: Copy đoạn code dưới đây và dán vào của sổ code của userform. Đoạn code này giả định chuỗi hiển thị trên caption của form nằm ở ô A1 trong bảng tính vì vậy bạn hãy nhập chuỗi có dấu tại địa chỉ này.
Toàn bộ đoạn code dưới dưới đây:

Mã:
'Author: Nguyễn Duy Tuân - Công ty CP BLUESOFTS
'Website: [url]http://bluesofts.net[/url]
Option Explicit
Private Const WM_SETTEXT = &HC
Private Declare Function DefWindowProc Lib "user32" Alias "DefWindowProcW" (ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long

Private Sub UserForm_Initialize()
  Dim hWnd&, sUnicode$
  hWnd = FindWindow("ThunderDFrame", Caption)  ' Tim HWnd cua UserForm
  sUnicode = Range("A1").Value 'Noi chua chuoi unicode
  DefWindowProc hWnd, WM_SETTEXT, 0, StrPtr(sUnicode)
End Sub
Lưu ý: Trong Windows XP, font trên caption ngầm định không phải unicode nên bạn cần vào Control Panel chỉnh lại về font như: Tahoma, Viranda, Times New Roman.

DOWNLOAD
 
  • Like
Reactions: nguoiconxunui
Khóa học Quản trị dòng tiền
N

nguoiconxunui

Khách vãng lai
29/6/04
1,280
215
63
Bình Định
aso2pc.co.cc
ngon đó anh
 
  • Like
Reactions: Tuanktcdcn

Xem nhiều

Webketoan Zalo OA