Bài học thiết kế số 01
Bài học thiết kế số 02
Bài học thiết kế số 03
Bài học thiết kế số 04
Bài học thiết kế số 05
Bài học thiết kế số 06
Bài học thiết kế số 07
Bài học thiết kế số 08
Bài học thiết kế số 09
Bài học thiết kế số 10
Bài học thiết kế số 11
=========================
Mục đích của bài học này:
1. Tạo Class có tên là: ColorPicker
Mục đích: Trên UserForm chọn màu (frmColorPicker) có 56 nút bấm. Khi click vào mỗi nút bấm sẽ lấy màu của nút bấm gán cho Label trên UserForm test (frmMain). Chúng ta không thể viết 56 thủ tục click cho chúng, quá mất thời gian. Ta sẽ dùng
Dòng code số 5 sẽ phải thay đổi tùy thuộc vào tên UserForm của bạn. Ở đây tôi đặt tên UserForm test là frmMain.
2. Trong UserForm frmMain bạn viết code:
3. UserForm frmColorPicker. Tôi không muốn bạn thay đổi nó. Bạn có thể Export nó vào file của bạn để sử dụng luôn.
Cách Export bạn có thể tham khảo
Các thông số chính của nó mang tính chất tham khảo, các bạn Export thì không cần quan tâm:
Code tham khảo, các bạn Export theo hướng dẫn trên thì không cần quan tâm:
4. Download file demo:
Topic này được viết dựa trên cảm hứng từ topic
Bạn cần đăng nhập để thấy link
Bài học thiết kế số 02
Bạn cần đăng nhập để thấy link
Bài học thiết kế số 03
Bạn cần đăng nhập để thấy link
.Bài học thiết kế số 04
Bạn cần đăng nhập để thấy link
.Bài học thiết kế số 05
Bạn cần đăng nhập để thấy link
.Bài học thiết kế số 06
Bạn cần đăng nhập để thấy link
.Bài học thiết kế số 07
Bạn cần đăng nhập để thấy link
.Bài học thiết kế số 08
Bạn cần đăng nhập để thấy link
.Bài học thiết kế số 09
Bạn cần đăng nhập để thấy link
.Bài học thiết kế số 10
Bạn cần đăng nhập để thấy link
. Bài học thiết kế số 11
Bạn cần đăng nhập để thấy link
.=========================
Mục đích của bài học này:
Bạn cần đăng nhập để thấy đính kèm
1. Tạo Class có tên là: ColorPicker
Mục đích: Trên UserForm chọn màu (frmColorPicker) có 56 nút bấm. Khi click vào mỗi nút bấm sẽ lấy màu của nút bấm gán cho Label trên UserForm test (frmMain). Chúng ta không thể viết 56 thủ tục click cho chúng, quá mất thời gian. Ta sẽ dùng
Bạn cần đăng nhập để thấy link
để giản tiện việc làm này.
Mã:
Public WithEvents lab As MSForms.CommandButton
Public idx As Long
Private Sub lab_Click()
frmMain.SetColor (idx)
frmColorPicker.Hide
End Sub
2. Trong UserForm frmMain bạn viết code:
Mã:
Public Sub SetColor(colorIndex)
lblColor.BackColor = ActiveWorkbook.Colors(colorIndex)
lblColor.Caption = colorIndex
lblColor.ForeColor = ActiveWorkbook.Colors(colorIndex)
End Sub
Private Sub CommandButton1_Click()
frmColorPicker.Show (vbModal)
End Sub
Bạn cần đăng nhập để thấy đính kèm
3. UserForm frmColorPicker. Tôi không muốn bạn thay đổi nó. Bạn có thể Export nó vào file của bạn để sử dụng luôn.
Cách Export bạn có thể tham khảo
Bạn cần đăng nhập để thấy link
.Các thông số chính của nó mang tính chất tham khảo, các bạn Export thì không cần quan tâm:
Bạn cần đăng nhập để thấy đính kèm
Code tham khảo, các bạn Export theo hướng dẫn trên thì không cần quan tâm:
Mã:
Dim clsClrs(1 To 56) As ColorPicker
Private Sub UserForm_Initialize()
Dim i As Long, c As Long, r As Long
Dim pal, clrs
Dim lt As Double, tp As Double
Dim hwnd&, sUnicode$
pal = GetPal
clrs = ActiveWorkbook.Colors
For r = 0 To 6
For c = 0 To 7
i = i + 1
Set clsClrs(i) = New ColorPicker
clsClrs(i).idx = pal(i)
Set clsClrs(i).lab = Controls.Add("forms.commandbutton.1")
With clsClrs(i).lab
.Left = 15 * c + 3
.Top = 15 * r + 3
.Width = 15
.Height = 15
.BackColor = clrs(pal(i))
End With
Next
Next
End Sub
Private Function GetPal()
GetPal = Array( _
0, 1, 53, 52, 51, 49, 11, 55, 56, _
9, 46, 12, 10, 14, 5, 47, 16, _
3, 45, 43, 50, 42, 41, 13, 48, _
7, 44, 6, 4, 8, 33, 54, 15, _
38, 40, 36, 35, 34, 37, 39, 2, _
17, 18, 19, 20, 21, 22, 23, 24, _
25, 26, 27, 28, 29, 30, 31, 32)
End Function
Bạn cần đăng nhập để thấy link
Topic này được viết dựa trên cảm hứng từ topic
Bạn cần đăng nhập để thấy link