Chào mừng đến với Diễn đàn Dân Kế Toán - Kế toán tổng hợp thực tế.
Kết quả 1 đến 9 của 9
  1. #1
    Ngày tham gia
    Nov 2015
    Bài viết
    0

    Thay đổi kích cỡ khi ở chế độ kích cỡ màn hình khác nhau?

    Mình chưa biết làm cách nào để cho Access thiết kế tự thích nghi với các loại màn hình khác nhau? Ví dụ như loại 14 in,15,...17...21... ! Trời đất,nhiều loại lắm,mà khi thiết kế trên 17 in rồi cho chạy trên 14 in nhìn chán vô cùng? còn trên 21 in còn chán nữa? Các bác nào có biết đoạn mã nào khắc phục không nhỉ?:udau:

  2. #2
    Ngày tham gia
    Nov 2015
    Bài viết
    0
    Ðề: Thay đổi kích cỡ khi ở chế độ kích cỡ màn hình khác nhau?

    Hầu như không có cách nào vừa ý người ... lười biếng cả.
    Giống như 1 trang web tiếng Anh không thể biên dịch tự động sang tiếng Việt được.
    Bạn có thể thiết kế thành nhiều bộ phù hợp cho từng cỡ màn hình và các độ phân giải khác nhau.
    Sau đó tùy người dùng chọn bộ nào.
    Việc đó khá cực. Thay vì thiết kế 1 bản, bạn phải thiết kế 10 bản khác nhau.
    Không thể chỉ đơn giản là cho co chữ lớn lên vài pixel hay chiều dài 1 text box tăng thêm 2cm ...
    Vẫn buộc bạn phải chỉnh sửa cho đến khi cảm thấy rằng nó đẹp thì thôi.

  3. #3
    Ngày tham gia
    Nov 2015
    Bài viết
    4
    Ðề: Thay đổi kích cỡ khi ở chế độ kích cỡ màn hình khác nhau?




    Trích dẫn Gửi bởi vuthuanbkvn
    Mình chưa biết làm cách nào để cho Access thiết kế tự thích nghi với các loại màn hình khác nhau? Ví dụ như loại 14 in,15,...17...21... ! Trời đất,nhiều loại lắm,mà khi thiết kế trên 17 in rồi cho chạy trên 14 in nhìn chán vô cùng? còn trên 21 in còn chán nữa? Các bác nào có biết đoạn mã nào khắc phục không nhỉ?:udau:
    Ngay cả những sản phẩm thương mại "chính hãng" còn có mục system requirements nữa là. Trong đó nó ghi rõ là chế độ phân giải màn hình tốt nhất cho ứng dụng là bao nhiêu: 1024 x 768 ...

    Cái 14", 17", ... chả ăn nhập gì đến cái độ phân giải màn hình cả. Nếu nó "to" inch thì cái form kèm theo các control trên đó nó sẽ to ra hay nhỏ lại mà thôi.

    Đừng tự làm khó mình.

  4. #4
    Ngày tham gia
    Aug 2015
    Bài viết
    0
    Ðề: Thay đổi kích cỡ khi ở chế độ kích cỡ màn hình khác nhau?




    Trích dẫn Gửi bởi phatnq2002
    Ngay cả những sản phẩm thương mại "chính hãng" còn có mục system requirements nữa là. Trong đó nó ghi rõ là chế độ phân giải màn hình tốt nhất cho ứng dụng là bao nhiêu: 1024 x 768 ...

    Cái 14", 17", ... chả ăn nhập gì đến cái độ phân giải màn hình cả. Nếu nó "to" inch thì cái form kèm theo các control trên đó nó sẽ to ra hay nhỏ lại mà thôi.

    Đừng tự làm khó mình.
    ý của mình là đang thiết kế trên 17" nếu chạy trên nền 14" thì các form sẽ nhỏ đi phù hợp với loại màn hình 14",các textbox cũng nhỏ đi theo tỉ lệ phù hợp...?
    và nều chạy trên 19" sẽ to lên phù hợp.... chứ nếu mà mỗi cái phải làm một bản cho phù hợp thì ....:chay:

  5. #5
    Ngày tham gia
    Sep 2015
    Bài viết
    64
    Ðề: Thay đổi kích cỡ khi ở chế độ kích cỡ màn hình khác nhau?

    Chắc vuthuanbkvn đang bị nhầm rồi. cái form thiết kế ở màn hình nào nó cũng có tỷ lệ kích thuớc so với màn hình y như nhau. Chẳng qua nó chỉ khác nhau khi nó chạy ở những độ phân giải khác nhau mà thôi. KIểm tra lại xem đúng thế không nhé.
    Còn chuyện điều chỉnh kích thước form theo mình không khó nhưng nếu chỉnh thêm các control trong form thì :k5686658: Nếu bạn muốn làm thì mình có ý thế này
    Public 1 function changsize chẳng hạn. Mỗi 1 form khi load thì gọi cái function này đầu tiên.
    Giá trị chiều cao, rộng, vị trí của form và các control được cho vào 1 table.
    Việc còn lại là coding cho cái function (chưa làm mà cảm giác mất công ghê) )

  6. #6
    Ngày tham gia
    Nov 2015
    Bài viết
    16
    Ðề: Thay đổi kích cỡ khi ở chế độ kích cỡ màn hình khác nhau?




    Trích dẫn Gửi bởi behattieu
    Chắc vuthuanbkvn đang bị nhầm rồi. cái form thiết kế ở màn hình nào nó cũng có tỷ lệ kích thuớc so với màn hình y như nhau. Chẳng qua nó chỉ khác nhau khi nó chạy ở những độ phân giải khác nhau mà thôi. KIểm tra lại xem đúng thế không nhé.
    Còn chuyện điều chỉnh kích thước form theo mình không khó nhưng nếu chỉnh thêm các control trong form thì :k5686658: Nếu bạn muốn làm thì mình có ý thế này
    Public 1 function changsize chẳng hạn. Mỗi 1 form khi load thì gọi cái function này đầu tiên.
    Giá trị chiều cao, rộng, vị trí của form và các control được cho vào 1 table.
    Việc còn lại là coding cho cái function (chưa làm mà cảm giác mất công ghê) )
    ví dụ như thế này á
    Private Sub SysInfo1_DisplayChanged()
    Me.Move SysInfo1.WorkAreaLeft, SysInfo1.WorkAreaTop, _
    SysInfo1.WorkAreaWidth, SysInfo1.WorkAreaHeight
    End Sub

    Bạn nào có thể viết rõ không? mình thiết kế trên màn hình của mình khi cầm sang máy khác chạy thì thấy lộn xộn hết lên,bục mình ghê

  7. #7
    Ngày tham gia
    Aug 2015
    Bài viết
    0
    Ðề: Thay đổi kích cỡ khi ở chế độ kích cỡ màn hình khác nhau?

    Đây là đoạn code mình vừa viết chắc là cũng thỏa mãn được yêu cầu của bạn.
    Private Sub Form_Load()

    giatri = DLookup("tyle", "t1", "Lay= true")
    MsgBox giatri
    Me.InsideHeight = Me.InsideHeight / giatri
    Me.InsideWidth = Me.InsideWidth / giatri
    Dim ctrl As Control
    For Each ctrl In Me.Controls
    ctrl.Height = ctrl.Height / giatri
    ctrl.Width = ctrl.Width / giatri
    ctrl.Left = ctrl.Left / giatri
    ctrl.Top = ctrl.Top / giatri
    Next

    End Sub

    Các form khác cũng làm tương tự như vậy. Tuy nhiên cái này test cho 1 form, nếu làm nhiều thì biến nó thành 1 public sub để khi nào cần thì gọi
    Giải thích 1 tí:
    giatri = DLookup("tyle", "t1", "Lay= true")
    với
    t1: là tên bảng chứa các thông số về kích thước màn hình
    tyle: tỷ lệ của các control được điều chỉnh
    lay: (yes/no) dùng để xác định dòng thông số được chọn

  8. #8
    Ngày tham gia
    Aug 2015
    Bài viết
    3
    Ðề: Thay đổi kích cỡ khi ở chế độ kích cỡ màn hình khác nhau?




    Trích dẫn Gửi bởi behattieu
    Đây là đoạn code mình vừa viết chắc là cũng thỏa mãn được yêu cầu của bạn.
    Private Sub Form_Load()

    giatri = DLookup("tyle", "t1", "Lay= true")
    MsgBox giatri
    Me.InsideHeight = Me.InsideHeight / giatri
    Me.InsideWidth = Me.InsideWidth / giatri
    Dim ctrl As Control
    For Each ctrl In Me.Controls
    ctrl.Height = ctrl.Height / giatri
    ctrl.Width = ctrl.Width / giatri
    ctrl.Left = ctrl.Left / giatri
    ctrl.Top = ctrl.Top / giatri
    Next

    End Sub

    Các form khác cũng làm tương tự như vậy. Tuy nhiên cái này test cho 1 form, nếu làm nhiều thì biến nó thành 1 public sub để khi nào cần thì gọi
    Giải thích 1 tí:
    giatri = DLookup("tyle", "t1", "Lay= true")
    với
    t1: là tên bảng chứa các thông số về kích thước màn hình
    tyle: tỷ lệ của các control được điều chỉnh
    lay: (yes/no) dùng để xác định dòng thông số được chọn
    Cái này của bạn được đấy,bạn đã làm chưa?
    Bạn thử chia sẻ cho mình ít kinh nghiệm rõ hơn được ko? với từng loại một?
    Bảng chứa các thông số màn hình lên làm như thế nào cho hợp lý nhỉ?

  9. #9
    Ngày tham gia
    Aug 2015
    Bài viết
    0
    Ðề: Thay đổi kích cỡ khi ở chế độ kích cỡ màn hình khác nhau?




    Trích dẫn Gửi bởi vuthuanbkvn
    Cái này của bạn được đấy,bạn đã làm chưa?
    Bạn thử chia sẻ cho mình ít kinh nghiệm rõ hơn được ko? với từng loại một?
    Bảng chứa các thông số màn hình lên làm như thế nào cho hợp lý nhỉ?
    Tất nhiên là làm rồi chứ không đủ khả năng để coding suông ). Nhỡ có lỗi thì mọi người cười chết.
    Bảng thông số "t1" có 2 trường dữ liệu chính: tyle va lay.
    "Lay" để xác định là mình sẽ lấy thông số nào (dòng nào) trong cả 1 cái bảng có 1 đống thông số.
    Sau đó dùng lệnh Dookup để lấy giá trị của "tyle" rồi đưa vào tính toán thôi.
    VD: Chuẩn màn hình đang là 800*600
    muốn form to ra khi ở chế độ 1024*786 thì chắc "tyle" phải là 1 số <1 rồi. Theo mình nghĩ nó là khoảng 800/1024 (đoán thế). Bạn cứ thử xem sao
    Tương tự vậy nếu màn hình ở chế độ cao hơn nữa thì có lẽ cứ lấy 800/*** là được.

 

 

Quyền viết bài

  • Bạn Không thể gửi Chủ đề mới
  • Bạn Không thể Gửi trả lời
  • 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
  •