Hiển thị kết quả từ 1 đến 7 / 7
  1. #1
    Tham gia
    09-03-2003
    Bài viết
    34
    Like
    0
    Thanked 0 Times in 0 Posts

    How to change title bar font in vb

    Mấy anh giỏi giỏi vb ơi, cho đệ hỏi cái, làm sao đổi được font cuả title bar và menu bar = vb, thay vì vào display setting\ appearance\advance\ rồi chọn font.
    Quote Quote

  2. #2
    Tham gia
    10-09-2002
    Location
    The Hell
    Bài viết
    636
    Like
    0
    Thanked 1 Time in 1 Post
    Bạn có thể dùng API để làm.

    Private Type LOGFONT
    lfHeight As Long
    lfWidth As Long
    lfEscapement As Long
    lfOrientation As Long
    lfWeight As Long
    lfItalic As Byte
    lfUnderline As Byte
    lfStrikeOut As Byte
    lfCharSet As Byte
    lfOutPrecision As Byte
    lfClipPrecision As Byte
    lfQuality As Byte
    lfPitchAndFamily As Byte
    lfFaceName(1 To 32) As Byte
    End Type

    Private Type NONCLIENTMETRICS
    cbSize As Long
    iBorderWidth As Long
    iScrollWidth As Long
    iScrollHeight As Long
    iCaptionWidth As Long
    iCaptionHeight As Long
    lfCaptionFont As LOGFONT
    iSMCaptionWidth As Long
    iSMCaptionHeight As Long
    lfSMCaptionFont As LOGFONT
    iMenuWidth As Long
    iMenuHeight As Long
    lfMenuFont As LOGFONT
    lfStatusFont As LOGFONT
    lfMessageFont As LOGFONT
    End Type

    Private Declare Function SystemParametersInfo Lib "user32" Alias "SystemParametersInfoA" (ByVal uAction As Long, ByVal uParam As Long, lpvParam As NONCLIENTMETRICS, ByVal fuWinIni As Long) As Long

    Private Sub Combo1_Click()
    Dim ncm As NONCLIENTMETRICS
    Dim Orincm As NONCLIENTMETRICS
    Dim Returned As Long
    Dim i As Integer
    ncm.cbSize = Len(ncm)
    Returned = SystemParametersInfo(41, 0, ncm, 0)
    Orincm = ncm
    For i = 1 To Len(Combo1.Text)
    ncm.lfMessageFont.lfFaceName(i) = Asc(Mid(Combo1.Text, i, 1))
    ncm.lfCaptionFont.lfFaceName(i) = Asc(Mid(Combo1.Text, i, 1))
    Next i
    ncm.lfMessageFont.lfFaceName(i) = 0
    ncm.lfCaptionFont.lfFaceName(i) = 0
    Returned = SystemParametersInfo(42, 0, ncm, &H1 Or &H2)
    MsgBox "Message & Caption Font Changed To " & Combo1.Text, vbOKOnly, "NILESH"
    Returned = SystemParametersInfo(42, 0, Orincm, &H1 Or &H2)
    MsgBox "Message & Caption Font Replaced To " & StrConv(Orincm.lfCaptionFont.lfFaceName, vbUnicode), vbOKOnly, "NILESH"
    End Sub

    Private Sub Form_Load()
    Dim i As Integer
    Show
    For i = 1 To 30
    Combo1.AddItem Screen.Fonts(i)
    Next i
    End Sub

  3. #3
    Tham gia
    09-03-2003
    Bài viết
    34
    Like
    0
    Thanked 0 Times in 0 Posts
    Oh, very cool, and it'll be more cool if only my form's titlebar's font change, not with orthers application.

  4. #4
    Tham gia
    16-07-2002
    Location
    Ha Noi
    Bài viết
    1,218
    Like
    0
    Thanked 0 Times in 0 Posts
    Oh, very cool, and it'll be more cool if only my form's titlebar's font change, not with orthers application.
    In order to solve your request, you have to sub-class to re-draw title-bar, menu... with your font (use TextOut or TextOutW function).
    By the way, i think you should use a "1 byte VN" font (example VietKey font) and change title-bar's system font :-)

  5. #5
    Tham gia
    05-09-2002
    Location
    Cần Đước - Long An
    Bài viết
    1,547
    Like
    0
    Thanked 5 Times in 5 Posts
    cái này dtt_vn mới viết, chưa test với những trường hợp bị lỗi, tuy nhiên, nó cũng được lắm
    Attached Files

  6. #6
    Tham gia
    05-09-2002
    Location
    Cần Đước - Long An
    Bài viết
    1,547
    Like
    0
    Thanked 5 Times in 5 Posts
    cái này là gurhanbutton dùng kèm cho đẹp. nếu không muốn, bạn có thể load lên rồi save hình lại, sau đó bỏ cái ocx này đi
    Attached Files

  7. Thành viên Like bài viết này:


  8. #7
    Tham gia
    25-04-2007
    Bài viết
    2
    Like
    1
    Thanked 0 Times in 0 Posts
    Xin up lại với ạ...kg download được
    thanks

Bookmarks

Quy định

  • Bạn không thể tạo chủ đề mới
  • Bạn không thể trả lời bài viết
  • Bạn không thể gửi file đính kèm
  • Bạn không thể sửa bài viết của mình
  •