Đánh giá chủ đề:
  • 0 Votes - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
[Hỏi] Xử lý Form khi độ phân giải màn hình khác nhau.
#1
Chào các bạn.

Form mình thiết kế là 1 Form nhỏ, khi chạy ở máy mình thì hiển thị đúng vị trí như lúc thiết kế còn khi chép qua máy khác chạy thì vẫn đúng vị trí như lúc thiết kế nhưng vì độ phân giải ở máy đó cao hơn hoặc thấp hơn nên Form thường dịch qua bên trái hoặc phải 1 đoạn, lên bên trên hoặc xuống bên dưới 1 đoạn. Hoặc thu nhỏ cửa sổ thì nó không căn giữa cái form nữa...
Hỏi làm sao để điều chỉnh độ phân giải của form khi chuyển qua máy khác hoặc thu nhỏ cửa sổ nó vẫn căn chỉnh như ở chế độ Maximize.

http://www.mediafire.com/view/ickce6256451b45/1.png
Chữ ký của nguyenhoangbanhan Xin chào, mình là nguyenhoangbanhan, Tham gia http://thuthuataccess.com/forum từ ngày 09-06 -15.
Reply
Những người đã cảm ơn
#2
Bạn sử dụng cái này
Mã PHP:
'On Error Resume Next

Dim giatri1 As Double
Dim giatri2 As Double
giatri1 = Laychieudai() / PhanGiaiMHdai
giatri2 = Laychieurong() / PhanGiaiMHrong
Me.InsideWidth = Me.InsideWidth / giatri1
Me.InsideHeight = Me.InsideHeight / giatri2

Dim ctrl As Control

For Each ctrl In Me.Controls
ctrl.Width = ctrl.Width / giatri1
ctrl.Height = ctrl.Height / giatri2
ctrl.Left = ctrl.Left / giatri1
ctrl.Top = ctrl.Top / giatri2

Next 
Chữ ký của tt1212 Nhận lập trình ứng dụng Access, PHP, C#  và hỗ trợ các bạn viết phần mềm ĐT:0989.276.236
Email. Tantriviet.vnn@gmail.com, Websze: http://tantriviet.net/
Reply
Những người đã cảm ơn
#3
(19-06-15, 07:31 PM)tt1212 Đã viết: Bạn sử dụng cái này
Mã PHP:
'On Error Resume Next

Dim giatri1 As Double
Dim giatri2 As Double
giatri1 = Laychieudai() / PhanGiaiMHdai
giatri2 = Laychieurong() / PhanGiaiMHrong
Me.InsideWidth = Me.InsideWidth / giatri1
Me.InsideHeight = Me.InsideHeight / giatri2

Dim ctrl As Control

For Each ctrl In Me.Controls
ctrl.Width = ctrl.Width / giatri1
ctrl.Height = ctrl.Height / giatri2
ctrl.Left = ctrl.Left / giatri1
ctrl.Top = ctrl.Top / giatri2

Next 
cái này đặt ở đâu. mình đang xài access 2003 nha.
Chữ ký của nguyenhoangbanhan Xin chào, mình là nguyenhoangbanhan, Tham gia http://thuthuataccess.com/forum từ ngày 09-06 -15.
Reply
Những người đã cảm ơn
#4
(19-06-15, 10:40 PM)nguyenhoangbanhan Đã viết: cái này đặt ở đâu. mình đang xài access 2003 nha.

Đặt ở sự kiện Form Load.
Chữ ký của maidinhdan * Để được hỗ trợ tốt nhất, nhấn vào link dưới đây để xem.
1. [Hướng dẫn] Kiểu file gửi lên để được giúp đỡ
2. [Hướng dẫn] Nội quy diễn đàn
3. [Hướng dẫn] Cách Đưa file và hình vào diễn đàn
4.[Hướng dẫn] Để xây dựng một ứng dụng hoàn hảo và lời cảm tạ
5. Cần tìm Demo hay ứng dụng sử dụng thanh tìm kiếm phía trên cùng, bên phải của diễn đàn.
* Nếu muốn cảm ơn, hãy nhấn nút thank, không cần viết thêm bài nào nửa.



ღღღღღTài sản của maidinhdan (View All Items) ღღღღღ
Reply
Những người đã cảm ơn
#5
(19-06-15, 06:18 PM)nguyenhoangbanhan Đã viết: Chào các bạn.

Form mình thiết kế là 1 Form nhỏ, khi chạy ở máy mình thì hiển thị đúng vị trí như lúc thiết kế còn khi chép qua máy khác chạy thì vẫn đúng vị trí như lúc thiết kế nhưng vì độ phân giải ở máy đó cao hơn hoặc thấp hơn nên Form thường dịch qua bên trái hoặc phải 1 đoạn, lên bên trên hoặc xuống bên dưới 1 đoạn. Hoặc thu nhỏ cửa sổ thì nó không căn giữa cái form nữa...
Hỏi làm sao để điều chỉnh độ phân giải của form khi chuyển qua máy khác hoặc thu nhỏ cửa sổ nó vẫn căn chỉnh như ở chế độ Maximize.

http://www.mediafire.com/view/ickce6256451b45/1.png

Nếu bạn chỉ có 1 vài form đơn giản bạn có thể xử dụng code của bạn tt1212 để xử lý. Nhưng với 1 ứng dụng lớn tốn nhiều ram. Bạn nên thiết kế mỗi độ phân giải màn hình khác nhau với từng kiểu form tương thích. Nhất là trong các trường hợp chạy ứng dụng trên mạng. Bởi vì việc xử lý  lệnh vẽ lại giao diện trong load form chiếm tài nguyên máy rất lớn.
Chữ ký của tranthanhan1962 Kết quả cuối cùng của một đời người, không phải bạn có được bao nhiêu tiền bạc, tài sản. Mà bạn còn bao nhiêu người bạn  thumbs up
ღღღღღTài sản của tranthanhan1962 (View All Items) ღღღღღ
Reply
Những người đã cảm ơn


Có thể liên quan đến chủ đề
Chủ đề: Tác giả Trả lời: Xem: Bài mới nhất
  Làm sao để Form nhập dữ liệu cho bảng mở ra, luôn ở dòng hiện hành (mới)? pvhung76 3 111 16-11-17, 11:14 PM
Bài mới nhất: ongke0711
  Câu lệnh nào ẩn button trong form? William 3 241 15-11-17, 11:30 AM
Bài mới nhất: cpucloi
  coppy dữ liệu giữa 2 subform trong 1 form doandiepanh 3 138 24-10-17, 03:07 PM
Bài mới nhất: tranthanhan1962
  [Help] Form login không thể chạy trên Window 7 anhemnhangu 6 243 24-10-17, 10:50 AM
Bài mới nhất: anhemnhangu
  hàm Dlookup không hoạt động ở máy khác thanhtruong 15 654 22-10-17, 04:56 PM
Bài mới nhất: khải nguyên

Chuyển nhanh:


User(s) browsing this thread: 1 Guest(s)
Diễn Đàn Thơ Văn Thi Ẩm Lâu|Nhà Hàng Sông Thơ