- Tham gia
- 13/6/06
- Bài viết
- 4,813
- Được thích
- 10,315
- Giới tính
- Nam
- Nghề nghiệp
- Giáo viên, CEO tại Bluesofts
Hướng dẫn hàm #MSGBOXParams hiển thị ảnh tùy ý, màu, progress, unicode.
+ Hướng dẫn nhúng ảnh vào Excel với control #BSImageList trong #BSAC, từ đây các control , hàm có thể hiển thị ảnh. File Excel mang sang máy khác không phải mang theo bộ file ảnh nữa. Tính năng này có từ BSAC v3.0.0.1, Add-in A-Tools v9.4.0.1.
(BSImageList lưu ảnh và có ImageIndex dùng khai báo trong các control: BSListView, BSTreeView, BSListBox, BSComboBox(x), BSButton để hiển thị ảnh/icon ).
(*) Download file Excel với mã nguồn: https://drive.google.com/file/d/1UiwhmVdPyN6gsO0_fiUFbeB6Vfk1yhz8/view?usp=sharing
Trình tự thiết kế như sau:
1.Nhúng các fileảnh vào control BSImageList
Từ menu Developer -> Insert -> More Controls, chọn BSImageList trong BSAC. Control này có từ phiên bản BSAC v3.0.0.1 cập nhật ngày 28-09-2020 hoặc Add-in A-Tools v9.4.0.1
Hãy đảm bảo Design Mode được bật trước khi bạn làm việc với control BSImageList (nếu nó tắt control này sẽ ẩn).
Nhấp chuột phải trên BSImageList -> BSImageList Control Object - > Properties sẽ ra mang hình để làm việc với thư viện ảnh.
Khi chạy ví dụ trên bạn sẽ thấy một MsgBox có ảnh như hình dưới đây:
Để hiển thị hàm MsgBox với progress, timer, icon thì dùng đoạn code sau:
Khi chạy bạn sẽ có được hình như dưới đây:
Để sử dụng BSAC bạn có thể cài độc lập file BSAC.ocx hoặc cài Add-in A-Tools nó sẽ tự động cài BSAC. Link tại đây
+ Hướng dẫn nhúng ảnh vào Excel với control #BSImageList trong #BSAC, từ đây các control , hàm có thể hiển thị ảnh. File Excel mang sang máy khác không phải mang theo bộ file ảnh nữa. Tính năng này có từ BSAC v3.0.0.1, Add-in A-Tools v9.4.0.1.
(BSImageList lưu ảnh và có ImageIndex dùng khai báo trong các control: BSListView, BSTreeView, BSListBox, BSComboBox(x), BSButton để hiển thị ảnh/icon ).
(*) Download file Excel với mã nguồn: https://drive.google.com/file/d/1UiwhmVdPyN6gsO0_fiUFbeB6Vfk1yhz8/view?usp=sharing
Trình tự thiết kế như sau:
1.Nhúng các fileảnh vào control BSImageList
Từ menu Developer -> Insert -> More Controls, chọn BSImageList trong BSAC. Control này có từ phiên bản BSAC v3.0.0.1 cập nhật ngày 28-09-2020 hoặc Add-in A-Tools v9.4.0.1
Hãy đảm bảo Design Mode được bật trước khi bạn làm việc với control BSImageList (nếu nó tắt control này sẽ ẩn).
Nhấp chuột phải trên BSImageList -> BSImageList Control Object - > Properties sẽ ra mang hình để làm việc với thư viện ảnh.
Mã:
Sub MsgBoxParams_Icon()
Dim pr As TBSMsgBoxParams
'pr.Icon = ExtractIcon(Application.HinstancePtr, GetSysDir & "\shell32.dll", 220)
pr.Icon = Sheet2.BSImageList1.ListImages(1).HIcon
pr.BackColor = RGB(200, 10, 10)
pr.ForeColor = vbYellow
Dim x, s
s = "MsgBoxParams thay thÕ MsgBox ®Ó lµm ®îc nhiÒu viÖc:"
s = s & Chr(13) & "- HiÓn thÞ chuçi Unicode"
s = s & Chr(13) & "- Thay ®æi mµu nÒn, ch÷"
s = s & Chr(13) & "- HiÓn thÞ thanh Progress ®Ó ch¹y thêi gian."
s = s & Chr(13) & "- Thay ®æi Icon"
x = MsgBoxParams(s, _
VbMsgBoxStyle.vbInformation + VbMsgBoxStyle.vbYesNoCancel, "Tïy biÕn víi MsgBox b»ng MsgBoxParams", pr)
DestroyIcon pr.Icon 'free memory!
End Sub
Khi chạy ví dụ trên bạn sẽ thấy một MsgBox có ảnh như hình dưới đây:
Để hiển thị hàm MsgBox với progress, timer, icon thì dùng đoạn code sau:
Mã:
Sub MsgBoxParams_Test()
Dim pr As TBSMsgBoxParams
'pr.Icon = ExtractIcon(Application.HinstancePtr, GetSysDir & "\shell32.dll", 220)
pr.Icon = Sheet2.BSImageList1.ListImages(0).HIcon
pr.BackColor = RGB(200, 10, 10)
pr.ForeColor = vbYellow
pr.TimerStruct.bAddProgress = True
pr.TimerStruct.nDuration = 30 ' seconds
pr.TimerStruct.nTimerCountDown = 0
pr.TimerStruct.bStopProgress = False
pr.TimerStruct.nInterval = 1000 ' 1 second
pr.TimerStruct.nExpireButtonClick_ID = ID_YES
pr.TimerStruct.nDisplayOnButton_ID = ID_CANCEL
Dim x, s
s = "T«i sÏ híng dÉn c¸c b¹n tïy biÕn hµm MessageBox víi hµm MsgBoxParams cña BSAC trong %d gi©y n÷a."
s = s & Chr(13) & "- HiÓn thÞ chuçi Unicode"
s = s & Chr(13) & "- Thay ®æi mµu nÒn, ch÷"
s = s & Chr(13) & "- HiÓn thÞ thanh Progress ®Ó ch¹y thêi gian."
s = s & Chr(13) & "- Thay ®æi Icon"
x = MsgBoxParams(s, _
VbMsgBoxStyle.vbInformation + VbMsgBoxStyle.vbYesNoCancel, "Tïy biÕn víi MsgBox", pr)
MsgBoxW x, vbInformation, "MsgBoxParams"
End Sub
Khi chạy bạn sẽ có được hình như dưới đây:
Để sử dụng BSAC bạn có thể cài độc lập file BSAC.ocx hoặc cài Add-in A-Tools nó sẽ tự động cài BSAC. Link tại đây
Lần chỉnh sửa cuối: