• 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

Canh tiêu đề của Form nằm ở giữa

Các thủ thuật liên quan đến việc xử lý ứng dụng, biểu mẫu và control
Hình đại diện của người dùng
clarkkent
Mạnh Thường Quân
Mạnh Thường Quân
Bài viết: 1641
Ngày tham gia: T.Tư 16/04/2008 11:25 am
Đến từ: Chợ Lách - Bến Tre
Been thanked: 31 time
Liên hệ:

Canh tiêu đề của Form nằm ở giữa

Gửi bàigửi bởi clarkkent » T.Bảy 19/07/2008 7:09 pm

Thủ thuật: Canh tiêu đề của Form nằm ở giữa
Tác giả: Nguyễn Trung Tín
Mô tả: Canh tiêu đề của Form nằm ở giữa


Module

Mã: Chọn hết

  1. Public Sub CenterC(frm As Form)
  2.  
  3.     Dim SpcF As Integer 'How many spaces can fit
  4.     Dim clen As Integer 'caption length
  5.     Dim oldc As String 'oldcaption
  6.     Dim i As Integer
  7.  
  8.     oldc = frm.Caption
  9.    
  10.     Do While Left(oldc, 1) = Space(1)
  11.         DoEvents
  12.         oldc = Right(oldc, Len(oldc) - 1)
  13.     Loop
  14.  
  15.     Do While Right(oldc, 1) = Space(1)
  16.         DoEvents
  17.         oldc = Left(oldc, Len(oldc) - 1)
  18.     Loop
  19.  
  20.     clen = Len(oldc)
  21.  
  22.     If InStr(oldc, "!") <> 0 Then
  23.         If InStr(oldc, " ") <> 0 Then
  24.             clen = clen * 1.5
  25.         Else
  26.             clen = clen * 1.4
  27.         End If
  28.     Else
  29.         If InStr(oldc, " ") <> 0 Then
  30.             clen = clen * 1.4
  31.          Else
  32.             clen = clen * 1.3
  33.         End If
  34.     End If
  35.  
  36.   'see how many characters can fit
  37.     SpcF = frm.Width / 61.2244 'how many space cam fit in the caption
  38.     SpcF = SpcF - clen
  39.  
  40.     If SpcF > 1 Then
  41.         DoEvents 'speed up the program
  42.         frm.Caption = Space(Int(SpcF / 2)) + oldc
  43.     Else 'if the form is too small for spaces
  44.         frm.Caption = oldc
  45.     End If
  46.  
  47. End Sub
  48.  


Form

Mã: Chọn hết

  1. Dim oldsize As Long  
  2.  
  3. Private Sub Form_Resize()
  4.  
  5.     If Me.Width = oldsize Then 'if the width hasn't changed
  6.  
  7.         Exit Sub 'then don't change the caption location
  8.  
  9.     Else
  10.  
  11.         CenterC Me
  12.  
  13.         oldsize = Me.Width
  14.  
  15.     End If
  16.  
  17. End Sub  
  18.  
  19. Private Sub Form_Load()
  20.  
  21.     Me.Caption = "Thu thuat VB6 - Nguyen Trung Tin"
  22.  
  23.     CenterC Me
  24.  
  25.     oldsize = Me.Width
  26.  
  27. End Sub
  28.  
  29.  


• Hôm bây: www.tinsoftware.com ^ ^
Cố gắng lên...

Hình đại diện của người dùng
Dang Minh Du
Thành viên ưu tú
Thành viên ưu tú
Bài viết: 531
Ngày tham gia: T.Tư 02/04/2008 2:08 pm
Đến từ: RGames Team
Has thanked: 3 time
Been thanked: 17 time
Liên hệ:

Re: Canh tiêu đề của Form nằm ở giữa

Gửi bàigửi bởi Dang Minh Du » T.Ba 22/07/2008 3:09 pm

Code của em đây: (chỉ tương đối, phải trừ bớt mấy cái nút trên thanh tiêu đề nữa)

Mã: Chọn hết

  1. Form1_resize()
  2. Dim tmp as string
  3. Dim a,b,c as integer
  4.  
  5. form1.caption=Ltrim(form1.caption)
  6. a=Form1.width/2
  7. b=Textwidth(form1.caption)/2
  8. c=a-b
  9.  
  10. for i=1 to c
  11. tmp=tmp & " "
  12. next i
  13.  
  14. form1.caption=tmp &form1.caption
  15. end sub

Em nghĩ và Post đại, ko bik có đúng ko. Test dzùm vậy :D
~°Dòng Sông Mùa Thu°~
Studying...!

Hình đại diện của người dùng
clarkkent
Mạnh Thường Quân
Mạnh Thường Quân
Bài viết: 1641
Ngày tham gia: T.Tư 16/04/2008 11:25 am
Đến từ: Chợ Lách - Bến Tre
Been thanked: 31 time
Liên hệ:

Re: Canh tiêu đề của Form nằm ở giữa

Gửi bàigửi bởi clarkkent » T.Ba 22/07/2008 3:15 pm

Nó không có nằm giữa, mà caption lúc ẩn lúc hiện ;)
• Hôm bây: www.tinsoftware.com ^ ^
Cố gắng lên...

Hình đại diện của người dùng
Dang Minh Du
Thành viên ưu tú
Thành viên ưu tú
Bài viết: 531
Ngày tham gia: T.Tư 02/04/2008 2:08 pm
Đến từ: RGames Team
Has thanked: 3 time
Been thanked: 17 time
Liên hệ:

Re: Canh tiêu đề của Form nằm ở giữa

Gửi bàigửi bởi Dang Minh Du » T.Ba 22/07/2008 3:23 pm

Hơ, kì lạ thế đã cố định kích thước mà nó vẫn dzậy à :(( :((
~°Dòng Sông Mùa Thu°~
Studying...!

NightMarez
Bài viết: 5
Ngày tham gia: T.Năm 24/07/2008 2:50 pm

Re: Canh tiêu đề của Form nằm ở giữa

Gửi bàigửi bởi NightMarez » T.Hai 28/07/2008 7:41 pm

Mình thấy đoạn code này đúng là nằm giữa thật, nhưng mà nó ko nằm chính giữa :D:D

Hình đại diện của người dùng
clarkkent
Mạnh Thường Quân
Mạnh Thường Quân
Bài viết: 1641
Ngày tham gia: T.Tư 16/04/2008 11:25 am
Đến từ: Chợ Lách - Bến Tre
Been thanked: 31 time
Liên hệ:

Re: Canh tiêu đề của Form nằm ở giữa

Gửi bàigửi bởi clarkkent » T.Ba 29/07/2008 11:58 am

thì đây
Dang Minh Du đã viết:(chỉ tương đối, phải trừ bớt mấy cái nút trên thanh tiêu đề nữa)
• Hôm bây: www.tinsoftware.com ^ ^
Cố gắng lê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.0 khách