• Vui lòng đọc nội qui diễn đàn để tránh bị xóa bài viết
  • Tìm kiếm trước khi đặt câu hỏi

Thêm 1 checkbox vào Combobox

Các thủ thuật liên quan đến việc xử lý ứng dụng, biểu mẫu và control
vinhphuoc91
Thành viên tích cực
Thành viên tích cực
Bài viết: 146
Ngày tham gia: T.Tư 26/03/2008 5:52 pm
Đến từ: Phú Yên
Been thanked: 15 time
Liên hệ:

Thêm 1 checkbox vào Combobox

Gửi bàigửi bởi vinhphuoc91 » T.Bảy 29/03/2008 6:12 pm

Thủ thuật: Thêm 1 checkbox vào Combobox
Tác giả: vinhphuoc91
Mô tả: Bổ sung vào Combobox 1 check box


Thực hiện :
- Thêm vào form 1 Combobox có tên Combo1
- Thêm vào form 1 Checkbox có tên Check1
- Thêm vào đoạn code sau :

Mã: Chọn hết

  1. Option Explicit
  2. Private Const EC_LEFTMARGIN = &H1
  3. Private Const EC_RIGHTMARGIN = &H2
  4. Private Const EC_USEFONTINFO = &HFFFF&
  5. Private Const EM_SETMARGINS = &HD3&
  6. Private Const EM_GETMARGINS = &HD4&
  7. Private Declare Function FindWindowEx Lib "user32" Alias "FindWindowExA" _
  8.    (ByVal hwndParent As Long, ByVal hwndChildAfter As Long, ByVal lpszClass As String, _
  9.    ByVal lpszWindow As String) As Long
  10. Private Declare Function SendMessageLong Lib "user32" Alias "SendMessageA" _
  11.    (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
  12.  
  13. Private Sub AddCheckToCombo( _
  14.          ByRef chkThis As CheckBox, _
  15.          ByRef cboThis As ComboBox _
  16.          )
  17.    Dim lhWnd As Long
  18.    Dim lMargin As Long
  19.    lhWnd = FindWindowEx(cboThis.hwnd, 0, "EDIT", vbNullString)
  20.    If (lhWnd <> 0) Then
  21.       lMargin = chkThis.Width \ Screen.TwipsPerPixelX + 2
  22.       SendMessageLong lhWnd, EM_SETMARGINS, EC_LEFTMARGIN, lMargin
  23.       chkThis.BackColor = cboThis.BackColor
  24.       chkThis.Move cboThis.Left + 3 * Screen.TwipsPerPixelX, cboThis.Top + 2 * Screen.TwipsPerPixelY, chkThis.Width, cboThis.Height - 4 * Screen.TwipsPerPixelY
  25.       chkThis.ZOrder
  26.    End If
  27.  
  28. End Sub
  29.  
  30. Private Sub Form_Load()
  31.    AddCheckToCombo Check1, Combo1
  32.    Dim i As Long
  33.    For i = 1 To 20
  34.       Combo1.AddItem "Test" & i
  35.    Next i
  36. End Sub
  37.  

Chúc các bạn thành công. :-* ;;)


My website : http://tinthoitrang.net

Quay về “[VB] Ứng dụng - Form và Control”

Đang trực tuyến

Đang xem chuyên mục này: Không có thành viên nào trực tuyến.0 khách