VB 6 - Incluindo um CheckBox em uma Combobox
Os controles Combobox e Listbox não consomem muito recursos do sistema , são fáceis de usar e possuem uma variedade de uso nos mais diversos projetos , por isto mesmo , são uma espécie de marca registrada dos componentes visuais padrão do Visual Basic.
Vou mostrar como incluir um checkbox em um combobox.
No projeto eu vou estar usando o nome padrão para os controles ( command1 , chekbox1 , combo1 , etc...).
Obs: Eu estou testando este exemplo no Visual Basic 6.0 com service pack 5.
Incluindo um controle checkbox em um controle Combobox
Public
Const EC_LEFTMARGIN = &H1 Public Const EC_RIGHTMARGIN = &H2 Public Const EC_USEFONTINFO = &HFFFF& Public Const EM_SETMARGINS = &HD3& Public Const EM_GETMARGINS = &HD4&
Declare Function FindWindowEx Lib
"user32" Alias "FindWindowExA" _ Declare Function
SendMessageLong Lib "user32" Alias
"SendMessageA" _ |
Private Sub IncluiCheckNoCombo(ByRef chk As CheckBox, ByRef cbo As ComboBox)
Dim lhWnd As Long
Dim lMargem As Long
lhWnd = FindWindowEx(cbo.hwnd, 0, "EDIT", vbNullString)
If (lhWnd <> 0) Then
lMargem = chk.Width \ Screen.TwipsPerPixelX + 2
SendMessageLong lhWnd, EM_SETMARGINS, EC_LEFTMARGIN, lMargem
chk.BackColor = cbo.BackColor
chk.Move cbo.Left + 3 * Screen.TwipsPerPixelX, cbo.Top + 2 * Screen.TwipsPerPixelY,
chk.Width, cbo.Height - 4 * Screen.TwipsPerPixelY
chk.ZOrder
End If
End Sub
|
|
Private Sub Form_Load()
Combo1.AddItem "janeiro"
Combo1.AddItem "fevereiro"
Combo1.AddItem "março"
Combo1.AddItem "abril"
Combo1.ListIndex = 0
End Sub
|
Vamos testar : Rode o projeto e a princípio você vai obter a tela da figura 1.
Agora clique no botão de comando e ... Shazam !!! a tela da figura 2 mostra o checkbox inserido na combo.
|
|
figura 1 - A tela inicial do projeto | figura 2 - O CheckBox incluido na combo |
Aguarde mais dicas sobre Combobox...
Gostou ? Compartilhe no Facebook Compartilhe no Twitter
Referências: