Làm thế nào để bạn kích thước mẫu của bạn trong vb6 nên biên dạng thấp hơn là ở phía trên của thanh tác vụMẫu kích thước để điền vào kích thước màn hình trừ thanh tác vụ
Trả lời
Có một lý do bạn không thể chỉ phát huy tối đa các hình thức? Đó sẽ là ấn tượng đầu tiên của tôi.
Nếu đó không phải là một Á hậu, bạn có thể thử nhận được chiều cao thanh tác vụ theo cách sau:
Private Const ABM_GETTASKBARPOS = &H5
Private Type RECT
Left As Long
Top As Long
Right As Long
Bottom As Long
End Type
Private Type APPBARDATA
cbSize As Long
hwnd As Long
uCallbackMessage As Long
uEdge As Long
rc As RECT
lParam As Long
End Type
Private Declare Function SHAppBarMessage Lib "shell32.dll" (ByVal dwMessage As Long, pData As APPBARDATA) As Long
Function GetTaskBarSize()
Dim ABD As APPBARDATA
SHAppBarMessage ABM_GETTASKBARPOS, ABD
MsgBox "Width:" & ABD.rc.Right - ABD.rc.Left
MsgBox " Height:" & ABD.rc.Bottom - ABD.rc.Top
End Sub
và sau đó thiết lập chiều cao của hình thức của bạn để chiều cao của màn hình ít chiều cao của thanh tác vụ.
cài đặt rhe window thành vbmaximized như bạn đã gợi ý thực hiện thủ thuật..oh bề rộng của sự thiếu hiểu biết của tôi! – kjack
Minus chỉ thanh tác vụ? Điều đó có thể không thực sự là những gì bạn muốn. Có thể có các cửa sổ khác trên các cạnh của màn hình có nghĩa là "khắc" các vùng của màn hình nền. Ngoài ra, lưu ý rằng đôi khi chiều cao của thanh tác vụ không liên quan, chẳng hạn như khi nó được gắn vào bên trái hoặc bên phải của màn hình.
Galwegian đã chỉ ra cách lấy chiều cao của thanh tác vụ, nhưng nếu bạn đang tìm kiếm khu vực có thể sử dụng của máy tính để bàn, hãy sử dụng chức năng SystemParametersInfo
với cờ spi_GetWorkArea
thay thế. Nó sẽ cho bạn biết khu vực của máy tính để bàn loại trừ tất cả các thanh công cụ trên máy tính để bàn. MSDN khuyên rằng nếu bạn quan tâm đến không gian có sẵn trên một cái gì đó khác với màn hình chính, bạn nên gọi GetMonitorInfo
thay thế; nó điền vào một bản ghi, và một trong các trường là dành cho vùng làm việc của màn hình.
Tôi sẽ xếp thứ hai ý tưởng rằng bạn thực sự có thể chỉ muốn tối đa hóa cửa sổ của mình. Nếu bạn đã làm điều đó, và bạn muốn biết bạn đang chiếm bao nhiêu không gian, sau đó lấy kích thước cửa sổ hiện tại của bạn, và sau đó trừ đi kích thước của khung cửa sổ của bạn (được giấu dưới các cạnh của máy tính để bàn khi cửa sổ được phóng to). Bạn có thể sử dụng GetSystemMetrics
với các cờ sm_CXFrame
và sm_CYFrame
cho điều đó.
Cảm ơn sự giúp đỡ của bạn Tôi không cần bất kỳ hơn chỉ đơn giản là để tối đa hóa một hình thức ngay bây giờ các thông tin thêm là thú vị mặc dù – kjack
Tôi sẽ đồng ý rằng bạn có thể muốn tối đa hóa cửa sổ của mình. Tuy nhiên, nếu bạn thực sự muốn biết khu vực của máy tính để bàn, không bao gồm tất cả các thanh công cụ trên bàn làm việc (thanh tác vụ, thanh công cụ Microsoft Office, v.v.), đây là một số khai báo VB6 cho cuộc gọi SystemParametersInfo và hàm mẫu tập trung trên màn hình, cho phép các thanh công cụ. Khoản vay này được vay từ 101 tech tips (PDF) từ Tạp chí lập trình viên Visual Basic cũ.
Private Const SPI_GETWORKAREA = 48
Private Declare Function SystemParametersInfo& Lib "User32" Alias "SystemParametersInfoA" (_
ByVal uAction As Long, _
ByVal uParam As Long, lpvParam As Any, _
ByVal fuWinIni As Long)
Private Type RECT
Left As Long
Top As Long
Right As Long
Bottom As Long
End Type
Public Function CenterForm32 (frm As Form)
Dim ScreenWidth&, ScreenHeight&, ScreenLeft&, ScreenTop&
Dim DesktopArea As RECT
Call SystemParametersInfo (SPI_GETWORKAREA, 0, DesktopArea, 0)
ScreenHeight = (DesktopArea.Bottom - DesktopArea.Top) * Screen.TwipsPerPixelY
ScreenWidth = (DesktopArea.Right - DesktopArea.Left) * Screen.TwipsPerPixelX
ScreenLeft = DesktopArea.Left * Screen.TwipsPerPixelX
ScreenTop = DesktopArea.Top * Screen.TwipsPerPixelY
frm.Move (ScreenWidth - frm.Width)/2 + ScreenLeft, _
(ScreenHeight - frm.Height)/2 + ScreenTop
End Function
Cảm ơn bạn đã liên kết đến pdf có rất nhiều lời khuyên hữu ích trong đó và tôi đã tải về nó – kjack
- 1. Ảnh chụp màn hình của biểu mẫu có kích thước lớn hơn kích thước màn hình
- 2. Tìm kích thước không gian làm việc (kích thước màn hình dưới thanh tác vụ) sử dụng GTK
- 3. Kích thước biểu tượng của thanh tác vụ
- 4. Kích thước biểu tượng thanh tác vụ trong Android 4.2
- 5. Nhận kích thước màn hình hiệu quả từ Java
- 6. Nhận kích thước màn hình nền từ Dịch vụ Windows?
- 7. Kích thước màn hình trong Visual Basic
- 8. Kích thước màn hình Windows Phone 8?
- 9. Nhận kích thước màn hình trên OpenCV
- 10. Lấy kích thước màn hình trong Java
- 11. Iphone: Xem kích thước hoặc kích thước màn hình hiện tại
- 12. Thay đổi kích thước phông chữ để điền vào UITextView?
- 13. Thanh cuộn ẩn trừ khi trang đổi kích thước
- 14. Có danh sách thiết bị nào có kích thước màn hình dpi và kích thước màn hình không?
- 15. Kích thước Sprite trên kích thước màn hình khác Andengine Android
- 16. kích thước jframe java swing trả về kích thước lớn hơn như màn hình
- 17. Kích thước của thanh nút mềm
- 18. chuyển mạch dựa trên kích thước màn hình
- 19. Hình nền và kích thước màn hình lớn
- 20. UIImageView: Thay đổi kích thước thành kích thước hình ảnh?
- 21. kích thước hình nền iphone
- 22. xlarge vs màn hình sw720dp nhầm lẫn kích thước
- 23. Cách tính kích thước tệp âm thanh?
- 24. Cách lấy kích thước màn hình từ xaml?
- 25. Cách nhận kích thước màn hình bằng mã?
- 26. Thông báo trên Màn hình Chrome - kích thước lớn hơn
- 27. Trình duyệt Android báo cáo kích thước màn hình sai?
- 28. Raspberry Pi Qt5 Đặt kích thước màn hình vật lý
- 29. Rails Image Định lại kích thước trên màn hình Xem?
- 30. Màn hình Splash đang thay đổi kích thước không đúng
Khóa có chính xác khi được phóng to không? –
Tôi không biết ý bạn là gì? – kjack