Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.70/43: Рейтинг темы: голосов - 43, средняя оценка - 4.70
1705 / 574 / 74
Регистрация: 10.04.2009
Сообщений: 9,283

Добавление элемента CheckBox в элемент ComboBox

03.09.2011, 21:06. Показов 8363. Ответов 17
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
По большому счёту фантастика, увидел пример в сети, у меня не получилось, не подскажите пример кривой или это не возможно, или ...
_________________________________
Данный пример покажет, как можно вставить элемент CheckBox внутрь элемента ComboBox. Добавьте на форму 1 ComboBox и 1 CheckBox.

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
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
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
03.09.2011, 21:06
Ответы с готовыми решениями:

Соединение combobox и checkbox
Добрый день, Коллеги. Я сделал пользовательскую форму, в которой есть как Combobox (в котором, указываются дата), так и checkbox,...

CheckBox, Цикл, Массив, ComboBox | Word
Здравствуйте Коллеги! Прошу помощи(совета) в следующем вопросе. В форме Word имеется ComboBox1 заполненный данными именованного...

Добавить элемент списка ComboBox из ComboBox'a
Такой вопрос: вот у меня есть комбобокс с возможностью ручного ввода. Как сделать так, чтобы введённое значение добавлялось в выпадающий...

17
 Аватар для Abu
1161 / 288 / 23
Регистрация: 28.09.2008
Сообщений: 553
04.09.2011, 09:20
Цитата Сообщение от Ципихович Эндрю Посмотреть сообщение
не подскажите пример кривой или это не возможно, или ...
Да нет, пример рабочий, но только в Visual Basic, в VBA почему то не хочет пахать.
0
1705 / 574 / 74
Регистрация: 10.04.2009
Сообщений: 9,283
04.09.2011, 09:47  [ТС]
а где работает???
0
2309 / 1541 / 115
Регистрация: 13.06.2009
Сообщений: 5,575
06.09.2011, 17:40
Ципихович Эндрю,
нелогично использовать в ComboBoxе флажки (выбор нескольких пунктов). ComboBox предназначен для выбора одного элемента и для отображения его в Поле.

Можно радиокнопки добавить: ListStyle: 1-fmListStyelOption
0
1705 / 574 / 74
Регистрация: 10.04.2009
Сообщений: 9,283
06.09.2011, 18:49  [ТС]
да я согласен, просто был пример в сети, меня он удивил, решил посмотреть, он ещё и не прёт

Добавлено через 29 секунд
Цитата Сообщение от Busine2009 Посмотреть сообщение
нелогично использовать в ComboBoxе флажки
можно придумать
0
2309 / 1541 / 115
Регистрация: 13.06.2009
Сообщений: 5,575
06.09.2011, 19:01
Цитата Сообщение от Ципихович Эндрю Посмотреть сообщение
можно придумать
я считаю, что нужно использовать каждый элемент управления по своему назначению.
0
1705 / 574 / 74
Регистрация: 10.04.2009
Сообщений: 9,283
06.09.2011, 19:09  [ТС]
ОСХ для чего создают, для удобства
кстати, есть у Вас какие нибудь интересные, у меня есть, (могу выложить), но интерисуют симбиозы например комбобокс +кнопка и т. д.
0
2309 / 1541 / 115
Регистрация: 13.06.2009
Сообщений: 5,575
06.09.2011, 19:12
Ципихович Эндрю,
нет, нету. Я основ VBA до конца ещё не знаю.
0
1705 / 574 / 74
Регистрация: 10.04.2009
Сообщений: 9,283
06.09.2011, 19:19  [ТС]
а кто ж его знает ))
0
 Аватар для ironegg
1905 / 782 / 31
Регистрация: 11.02.2010
Сообщений: 1,567
07.09.2011, 10:50
Цитата Сообщение от Ципихович Эндрю Посмотреть сообщение
как можно вставить элемент CheckBox внутрь элемента ComboBox
возможно, подойдет элемент управления ListView (ToolBox - Additional controls - Microsoft ListView Control).
вот пример кода

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
Private Sub UserForm_Initialize()
 ListView1.CheckBoxes = True
 ListView1.View = lvwList
 End Sub
 
 Private Sub CommandButton1_Click()
 ListView1.ListItems.Add(1) = "выбери меня"
 ListView1.ListItems.Add(2) = "нет! меня!"
 End Sub
 
 Private Sub ListView1_ItemCheck(ByVal Item As MSComctlLib.ListItem)
 MsgBox Item
 End Sub
0
1705 / 574 / 74
Регистрация: 10.04.2009
Сообщений: 9,283
07.09.2011, 11:01  [ТС]
спасибо, что-то так и не понятно, что на форме должно быть кроме кнопки??
0
2309 / 1541 / 115
Регистрация: 13.06.2009
Сообщений: 5,575
07.09.2011, 11:18
CheckBoxы можно использовать и на стандартном элементе управления - ListBox.
Для этого нужно установить следующие свойства ListBox:
MultiSelect: 1-fmMultiSelectMulti;
ListStyle: 1 - fmListStyleOption.
0
1705 / 574 / 74
Регистрация: 10.04.2009
Сообщений: 9,283
07.09.2011, 11:24  [ТС]
понятно, Вы пробовали??
у меня выделяет
Private Sub ListView1_ItemCheck(ByVal Item As MSComctlLib.ListItem)
0
2309 / 1541 / 115
Регистрация: 13.06.2009
Сообщений: 5,575
07.09.2011, 11:29
Ципихович Эндрю,
View - Properties Window. И установите указанные выше пункты в свойствах ListBox.
0
1705 / 574 / 74
Регистрация: 10.04.2009
Сообщений: 9,283
07.09.2011, 11:34  [ТС]
да конечно ставил и назвал его ListView1
0
2309 / 1541 / 115
Регистрация: 13.06.2009
Сообщений: 5,575
07.09.2011, 11:37
Цитата Сообщение от Ципихович Эндрю Посмотреть сообщение
понятно, Вы пробовали??
кто пробовал?
Я просто думал вы меня спросили.
0
1705 / 574 / 74
Регистрация: 10.04.2009
Сообщений: 9,283
07.09.2011, 11:41  [ТС]
Цитата Сообщение от Busine2009 Посмотреть сообщение
кто пробовал?
по большому счёту хоть кто-то
0
2309 / 1541 / 115
Регистрация: 13.06.2009
Сообщений: 5,575
07.09.2011, 11:43
Ципихович Эндрю,
просто я писал про ListBox.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
07.09.2011, 11:43
Помогаю со студенческими работами здесь

Добавление CheckBox на форму Excel
Здравствуйте! Необходима помощь с реализацией процедуры, которая позволяла бы при инициализации формы добавлять на нее элементы...

Добавление ComboBox и CheckBox в DBGrid
ппц это сплошная печаль, подскажите пожалуйста как сделать выпадающие списки для определенных столбцов, но что-бы в них добавлялись...

Как называется штука, похожая на ComboBox, в которой напротив каждого элемента стоит CheckBox?
Не подскажете, как называется штука, похожая на ComboBox, в которой напротив каждого элемента стоит CheckBox? (как я понимаю, для...

Добавление элемента в ComboBox со значением
Можно ли добавить в ComboBox элемент чтобы отображалось одно значение, а выбиралось другое? Например, отображается ФИО, а выбирается ID.

Добавление новой строки в Edit при выборе элемента ComboBox
При выборе определенного item-а из ComboBox и занесения определенной цифры в edit надо чтобы эти данные записывались сразу в memo в новую...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
18
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru