![]() |
|
Модераторы: Akina |
![]()
|
|
| Алексец |
|
|||
|
Unregistered |
Всем привет!
Мне надо создать компонент на основе ListView, только чтобы чекбокс можно было задавать для любой колонки в режиме report. Ну я создаю active control. помещаю listview. А дальше проблемы Во первых, в утилите Active control interface wizard при наследовании свойств методов и событий в списке доступных присутствуют не все: например метод ListItem в listview есть а в списке доступных их нет - Как так А во вторых при создании нового свойства - отображение чекбокса в любой колонке непонятно как это реализовать. Вроде надо вставлять сам объект чекбокс. Но как это сделать... Весь интернет перерыл нигде нет про это! Может вы мне поможете? Советом или как нибудь!! заранее спасибо)) |
|||
|
||||
| Alles |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 142 Регистрация: 26.6.2003 Где: RUSSIA Репутация: 2 Всего: 2 |
Добавление элемента CheckBox в элемент ComboBox
Данный пример покажет, как можно вставить элемент CheckBox внутрь элемента ComboBox. Добавьте на форму 1 ComboBox и 1 CheckBox. Private Const EC_LEFTMARGIN = &H1 Private Const EC_RIGHTMARGIN = &H2 Private Const EC_USEFONTINFO = &HFFFF& Private Const EM_SETMARGINS = &HD3& Private Const EM_GETMARGINS = &HD4& Private Declare Function FindWindowEx Lib "user32" Alias "FindWindowExA" (ByVal hwndParent As Long, ByVal hwndChildAfter As Long, ByVal lpszClass As String, ByVal lpszWindow As String) As Long Private Declare Function SendMessageLong Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long Private Sub AddCheckToCombo(ByRef chkThis As CheckBox, ByRef cboThis As ComboBox) Dim lhWnd As Long Dim lMargin As Long lhWnd = FindWindowEx(cboThis.hwnd, 0, "EDIT", vbNullString) If (lhWnd <> 0) Then lMargin = chkThis.Width \ Screen.TwipsPerPixelX + 2 SendMessageLong lhWnd, EM_SETMARGINS, EC_LEFTMARGIN, lMargin chkThis.BackColor = cboThis.BackColor chkThis.Move cboThis.Left + 3 * Screen.TwipsPerPixelX, cboThis.Top + 2 * Screen.TwipsPerPixelY, chkThis.Width, cboThis.Height - 4 * Screen.TwipsPerPixelY chkThis.ZOrder End If End Sub Private Sub Form_Load() AddCheckToCombo Check1, Combo1 Dim i As Long For i = 1 To 20 Combo1.AddItem "Test" & i Next i End Sub Это не мое это с http://www.webzone.ru/ |
|||
|
||||
| Алексец |
|
|||
|
Unregistered |
А как сделать чтобы програмно вызывать checkbox на форму и вставлять скажем в каждую новую ячейку?
|
|||
|
||||
| Alles |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 142 Регистрация: 26.6.2003 Где: RUSSIA Репутация: 2 Всего: 2 |
Поищи на форуме. Тут уже были такие вопросы по добавлению элементов во время выполнения программы. т.е. кидаешь на форму checkbox с индексом ноль checkbox(0) , а затем при определенном твоем событии делаешь LOAD с возрастающим индексом.
|
|||
|
||||
| Unregistered |
|
|||
|
Unregistered |
А как метод Listview1.lisitems полностью повторить в моем контроле?
Ну нехочет визард етот его копировать. (( |
|||
|
||||
![]()
|
| Правила форума "VB6" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Akina. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | VB6 | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |