Vấn đề Zoom control khi Maximized, Minimized, Normal trong form (2 người xem)

Liên hệ QC

Người dùng đang xem chủ đề này

Hoàng Trọng Nghĩa

Chuyên gia GPE
Thành viên BQT
Moderator
Tham gia
17/8/08
Bài viết
8,662
Được thích
16,720
Giới tính
Nam
Xin vui lòng cho hỏi, khi Max hay Normal cửa sổ của Form, có code nào zoom các control trong form theo tỷ lệ có được không?
Tôi đã tìm mãi trên Google mà chưa thấy.
Xin cám ơn mọi sự hướng dẫn và giúp đỡ.
 
Em xin đưa file, Anh xem giúp em với, nhờ Anh chỉnh Code để Cân đối với Form. Còn trường hợp em đặt tên các CommandButton không phải là 1,2,3,4 mà là Cmd_Them,Cmd_Sua, Cmd_Xoa, Cmd_Thoat thì chỉnh cod làm sao hả Anh????
 

File đính kèm

Upvote 0
Em xin đưa file, Anh xem giúp em với, nhờ Anh chỉnh Code để Cân đối với Form. Còn trường hợp em đặt tên các CommandButton không phải là 1,2,3,4 mà là Cmd_Them,Cmd_Sua, Cmd_Xoa, Cmd_Thoat thì chỉnh cod làm sao hả Anh????
Vậy bạn đưa file lên là nút gì vậy? Sao toàn CommandButton không à! Vị trí có dúng như thế không? Số lượng thực tế thế nào để điều chỉnh chứ không lại đưa file lên mà hỏi nữa! Đưa Form thực tế đi bạn.
 
Upvote 0
trong file em có 3 CommandButton, 2 listBox như trong file đính kèm ở bài #61 đó Anh.
 
Upvote 0
Lúc trước em đặt tên là : Cmd_sua,Cmd_Ghi, Cmd_Thoat, nhưng em đã chỉnh lại là CommandButton1, CommandButton2, CommandButton3 để chỉnh cân đối Form(nhưng không biết chỉnh). và 3 CommandButton này đặt nằm ngang với ListBox2 thì chỉnh code làm sao, mong Anh Chỉ giáo. Em hỏi ngoài là nếu tên mấy commandbutton không phải là số mà là tên chữ thì code như thế nào???
 
Upvote 0
Lúc trước em đặt tên là : Cmd_sua,Cmd_Ghi, Cmd_Thoat, nhưng em đã chỉnh lại là CommandButton1, CommandButton2, CommandButton3 để chỉnh cân đối Form(nhưng không biết chỉnh). và 3 CommandButton này đặt nằm ngang với ListBox2 thì chỉnh code làm sao, mong Anh Chỉ giáo. Em hỏi ngoài là nếu tên mấy commandbutton không phải là số mà là tên chữ thì code như thế nào???
Nếu chỉ bố trí như thế thì, như tôi đã nói, tạo cái form chuẩn 402x600 rồi sắp xếp toàn bộ control lên đó sao cho hợp lý nhất, vậy thì cái cần điều chỉnh chỉ có mỗi cái ListBox2, còn mấy thứ khác không thay đổi.

Mã:
    ''Thuat toan nam tai day!
    With ListBox2
        .Height = Me.InsideHeight - .Top [COLOR=#ff0000][B]- 6[/B][/COLOR]
    End With

Với 6 hay 12 hoặc nhỏ nhất là 0 (nếu là 0 thì khỏi trừ nha) tùy bạn muốn cái đáy của listbox nó cách đáy của Form như thế nào thôi.
 

File đính kèm

Upvote 0
Anh Nghĩa chỉnh dùm em code cân đối cho form có Multipage với Ah!!!!Mong Anh xem file đính kèm:
 

File đính kèm

Upvote 0
Anh Nghĩa chỉnh dùm em code cân đối cho form có Multipage với Ah!!!!Mong Anh xem file đính kèm:
Ôi trời ơi, cơ bản nó cũng giống với ListBox thôi, sao bạn không tự phân tích và làm? Khi bạn có khái niệm thực hiện thì với mọi Form bạn có thể điều khiển được.
 
Upvote 0
Cơ bản là em không biết căn bản, em thử giống code ListBox của Anh nhưng không được(Mất luôn 3 cái CommandButton)
Mã:
    ''Thuat toan nam tai day!    
With MultiPage1
        .Height = Me.InsideHeight - .Top - 6
    End With
Mong Anh xem file đính kèm.
 
Upvote 0
Cơ bản là em không biết căn bản, em thử giống code ListBox của Anh nhưng không được(Mất luôn 3 cái CommandButton)
Mã:
    ''Thuat toan nam tai day!    
With MultiPage1
        .Height = Me.InsideHeight - .Top - 6
    End With
Mong Anh xem file đính kèm.
Quất đại vầy đi, xem có được hông?

Mã:
    ''Thuat toan nam tai day!
    Dim i As Byte
    MultiPage1.Height = Me.InsideHeight - MultiPage1.Top - 6
    With CommandButton1
        .Top = MultiPage1.Height - 2 * .Height
        For i = 2 To 6
            Me("CommandButton" & i).Top = .Top
        Next
        ListBox1.Height = .Top - ListBox1.Top - 6
        ListBox2.Height = .Top - ListBox2.Top - 6
    End With
 
Upvote 0
Quất đại vầy đi, xem có được hông?

Mã:
    ''Thuat toan nam tai day!
    Dim i As Byte
    MultiPage1.Height = Me.InsideHeight - MultiPage1.Top - 6
    With CommandButton1
        .Top = MultiPage1.Height - 2 * .Height
        For i = 2 To 6
            Me("CommandButton" & i).Top = .Top
        Next
        ListBox1.Height = .Top - ListBox1.Top - 6
        ListBox2.Height = .Top - ListBox2.Top - 6
    End With

So với bài trên thì bài này chính xác hơn nè! BMVNAH, tìm mãi cho cái InsideHeight nó "hiện hồn" về trong sự kiện Resize mà chả được (nó update chậm hơn so với Height) nên tạm dùng Height ở bài đó nhưng khó có thể đúng vì nếu MultiPage mà thay đổi Font Size là đuối. Giờ mới hoàn toàn yên tâm với code dưới đây:

Mã:
    ''Thuat toan nam tai day!
    MultiPage1.Height = Me.InsideHeight - MultiPage1.Top - 6
[COLOR=#ff0000][B]    DoEvents[/B][/COLOR]
    Dim i As Byte
    With CommandButton1
        .Top = [COLOR=#0000ff]MultiPage1.Pages([/COLOR][COLOR=#ffa07a]MultiPage1.SelectedItem.Index[/COLOR][COLOR=#0000ff]).InsideHeight[/COLOR] - .Height - 6
        For i = 2 To 6
            Me("CommandButton" & i).Top = .Top
        Next
        ListBox1.Height = .Top - ListBox1.Top - 6
        ListBox2.Height = .Top - ListBox2.Top - 6
    End With

Chỉ cần thêm một tiểu xảo màu đỏ là "tự tin trong những ngày ấy"!
 
Lần chỉnh sửa cuối:
Upvote 0
Anh Nghĩa chỉ em cách làm chữ chìm trong Form tàu Biển của Anh với. (#51) như chữ "Bên nhận phiếu vận chuyển", "Bên giao phiếu vận chuyển", "Người giao", "Người nhận"..v......v
 
Upvote 0
Mong mọi người và Anh Nghĩa chỉnh dùm code ở page4, tại sao khi bung toàn màn hình thì các textBox1 ,2, 3 lại nằm trên các Label. Em xin gửi file đính kèm mong mọi người giúp em(Em dốt lắm-Mong mọi người chỉ rỏ)
 
Lần chỉnh sửa cuối:
Upvote 0
Mong mọi người giúp em với.
 
Upvote 0
Mong Anh Nghĩa làm giúp em bài #74 với!!!!!@!##__--__@!##/-*+/)*&^)
 
Upvote 0
Mong mọi người và Anh Nghĩa chỉnh dùm code ở page4, tại sao khi bung toàn màn hình thì các textBox1 ,2, 3 lại nằm trên các Label. Em xin gửi file đính kèm mong mọi người giúp em(Em dốt lắm-Mong mọi người chỉ rỏ)

Mong mọi người giúp em với.

Mong Anh Nghĩa làm giúp em bài #74 với!!!!!@!##__--__@!##/-*+/)*&^)

Thật sự bạn quá ỷ lại và nếu không thì cái đầu bạn chả có linh hoạt để xử lý hay tính toán những con toán đại số đơn giản gì cả! Chỉ biết kêu gào giúp đỡ mà không biết vận dụng toán học vào việc nghĩ làm sao để dịch chuyển những cái đối tượng cần thiết.

Tôi chả có For ... Next gì cả để cho bạn dễ hình dung để sau này còn biết cách mà vận dụng, chứ kêu gào như thế tôi mệt mỏi lắm!

ĐỌC CÁC GHI CHÚ TẠI PHẦN CODE PHÍA DƯỚI CHO THẬT KỸ NHA BẠN.

Mã:
[B][COLOR=#0000ff]    '''Thuật toán nằm tại đây![/COLOR][/B]

[COLOR=#0000ff]    '''Tính chiều cao và chiều rộng của MultiPage1 sao cho fit với UserForm:[/COLOR]
    MultiPage1.Width = Me.InsideWidth
    MultiPage1.Height = Me.InsideHeight
    
[COLOR=#0000ff]    '''Chạy tiếp sự kiện để cập nhật chiều cao bên trong (chiều cao "lọt lòng") của MultiPage1:[/COLOR]
    DoEvents
    
[COLOR=#0000ff]    '''Tính chiều cao bên trong của MultiPage1:[/COLOR]
    Dim MtpInsideHeight As Single
    MtpInsideHeight = MultiPage1.Pages(MultiPage1.SelectedItem.Index).InsideHeight
    
[COLOR=#0000ff]    '''Căn cứ vào MtpInsideHeight tính chiều cao của các ListBox (đặc điểm chung là đáy của chúng sát đáy của [/COLOR][COLOR=#0000FF]MultiPage1, nên chúng được tính giống nhau)[/COLOR][COLOR=#0000ff]:[/COLOR]
    ListBox1.Height = MtpInsideHeight - ListBox1.Top - 6
    ListBox2.Height = MtpInsideHeight - ListBox2.Top - 6
    ListBox3.Height = MtpInsideHeight - ListBox3.Top - 6
    ListBox5.Height = MtpInsideHeight - ListBox5.Top - 6
    ListBox6.Height = MtpInsideHeight - ListBox6.Top - 6
    ListBox7.Height = MtpInsideHeight - ListBox7.Top - 6
    
  [COLOR=#008000][B] '''TÍNH CÁC CONTROL TRONG PAGE4:
[/B][/COLOR]  [COLOR=#ff0000] '''Cứ cái gì sát đáy của [/COLOR][COLOR=#ff0000]MultiPage1 [/COLOR][COLOR=#ff0000]thì tính trước, dần dần tính tiếp lên trên:[/COLOR]
[COLOR=#0000ff]    '''Căn cứ vào MtpInsideHeight tính chiều cao của CmdSua:[/COLOR]
    CmdSua.Top = MtpInsideHeight - CmdSua.Height - 6
    
    With tb1
[COLOR=#0000ff]        '''Căn cứ vào MtpInsideHeight tính chiều cao của TextBox tb1:[/COLOR]
        .Top = MtpInsideHeight - .Height - 6
        
[COLOR=#0000ff]        '''Vì Top của các TextBox còn lại đều bằng Top[/COLOR]
[COLOR=#0000ff]        '''của tb1 [/COLOR][COLOR=#0000FF]nên phải quy chúng có Top bằng nhau[/COLOR][COLOR=#0000ff]:[/COLOR]
        tb2.Top = .Top
        tb3.Top = .Top
        
        With lblTb1
[COLOR=#0000ff]            '''Căn cứ vào Top của tb1, tính Top của các Label,[/COLOR]
[COLOR=#0000ff]            '''chỉ cần dịch chuyển chiều cao Label lên phía trên[/COLOR]
[COLOR=#0000ff]            '''so với TextBox tb1 là được:[/COLOR]
            .Top = tb1.Top - .Height
            
[COLOR=#0000ff]            '''Vì Top của các Label còn lại đều bằng Top[/COLOR]
[COLOR=#0000ff]            '''của Label lblTb1 [/COLOR][COLOR=#0000FF]nên phải quy chúng có Top bằng nhau[/COLOR][COLOR=#0000ff]:[/COLOR]
            lblTb2.Top = .Top
            lblTb3.Top = .Top
            
[COLOR=#0000ff]            '''Căn cứ vào Top của Label lblTb1 tính chiều cao của ListBox4:[/COLOR]
            ListBox4.Height = .Top - ListBox4.Top - 2
        End With
    End With

Đó, code như thế đó, có khó gì không mà sao không suy nghĩ cho nó logic?
 

File đính kèm

Lần chỉnh sửa cuối:
Upvote 0

File đính kèm

Upvote 0
Em mới làm Form này sao bị lỗi Debug ở
Mã:
ListBox2.Height = .Top - ListBox2.Top - 2
Em gửi file, mong các AC giúp.
 
Lần chỉnh sửa cuối:
Upvote 0
Em xin đưa code lỗi
Mã:
    ''Thuat toan nam tai day!    
MultiPage1.Width = Me.InsideWidth
    MultiPage1.Height = Me.InsideHeight
    DoEvents
     Dim MtpInsideHeight As Single
     MtpInsideHeight = MultiPage1.Pages(MultiPage1.SelectedItem.Index).InsideHeight
        ListBox3.Height = MtpInsideHeight - ListBox3.Top - 6
        ListBox4.Height = MtpInsideHeight - ListBox4.Top - 6
        ListBox5.Height = MtpInsideHeight - ListBox5.Top - 6
        ''xet page1
        With CmdGhi1
         .Top = MtpInsideHeight - .Height - 6
         CommandButton1.Top = .Top
         CommandButton2.Top = .Top
         ListBox1.Height = .Top - ListBox1.Top - 2
         End With
         ''xet page2
          With CmdGhi2
           .Top = MtpInsideHeight = .Height - 6
            CommandButton4.Top = .Top
            CommandButton5.Top = .Top
            ListBox2.Height = .Top - ListBox2.Top - 2 [B][COLOR=#ff0000]<----lỗi vàng chổ này.[/COLOR][/B]
         End With
    End Sub
 
Upvote 0
Web KT

Bài viết mới nhất

Back
Top Bottom