Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Комбобокс с 3-мя столбцами / 23 сообщений из 23, страница 1 из 1
28.02.2007, 16:21
    #34361190
Arthur26
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Комбобокс с 3-мя столбцами
Привет всем.
Можно ли комбобокс заполнить значениями, в 3 столбика, но так, чтобы было выравнивание?
Т.е. так:

Январь 1 31
Февраль 2 28

а не так:

Январь 1 31
Февраль 2 28

Спасибо за советы.
...
Рейтинг: 0 / 0
28.02.2007, 16:30
    #34361235
Melkiades
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Комбобокс с 3-мя столбцами
А чем отличаются эти два случая?
...
Рейтинг: 0 / 0
28.02.2007, 16:43
    #34361290
Magnus23
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Комбобокс с 3-мя столбцами
Подозреваю что там должно было быть выравнивание чисел пробелами, но существует такая багофича форума которая эти пробелы кушает.

По сабжу. Автоматически никак, руками форматировать каждое значение при добавлении.


Magnus
...
Рейтинг: 0 / 0
28.02.2007, 16:48
    #34361311
Arthur26
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Комбобокс с 3-мя столбцами
Ой, видно, что ничем. Когда писал, отличались, а после публикования нет.
Хочу чтобы было выравнивание по левому краю каждого значения столбца.
...
Рейтинг: 0 / 0
01.03.2007, 03:09
    #34362178
Бенедикт
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Комбобокс с 3-мя столбцами
Arthur26,
есть основания полагать, что рисовать элементы такого выпадающего списка придётся самому, как, например, здесь .
...
Рейтинг: 0 / 0
01.03.2007, 08:41
    #34362360
Arthur26
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Комбобокс с 3-мя столбцами
Не надо чтобы было форматирование, это я просто что-то похожее скопировал.
Мне хотелось как-то, Combo1.AddItem Data1.Recordset.Fields(1) & " " & Data1.Recordset.Fields(3),
между амперсандов, вставить что-то чтобы было выровнено. Вот vbTab не выравнивает.
...
Рейтинг: 0 / 0
01.03.2007, 09:59
    #34362564
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Комбобокс с 3-мя столбцами
Нужно определить самые длинные строки в каждом столбце, измерить их в твипах через функцию TextWidth, так же измерить длину пробела, потом, заполняя комбобокс, мерять каждую строку для каждого столбца, вычитать из самой длинной, разницу делить на длину пробела - получится количество пробелов, необходимое для выравнивания столбца. Шрифт в комбобоксе и на форме должен быть одинаковым. Если поставить моноширинный шрифт, например Courier New, то можно и не мерять в твипах, а только считать символы.
...
Рейтинг: 0 / 0
01.03.2007, 10:17
    #34362619
vkodor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Комбобокс с 3-мя столбцами
Держи
...
Рейтинг: 0 / 0
01.03.2007, 10:45
    #34362721
Arthur26
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Комбобокс с 3-мя столбцами
vkodor, спасибо, но как это сделать на VB6 в программе?
...
Рейтинг: 0 / 0
01.03.2007, 12:11
    #34363109
vkodor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Комбобокс с 3-мя столбцами
Arthur26vkodor, спасибо, но как это сделать на VB6 в программе?

примерно так
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
    With ComboBox2
        .SetFocus
        .ColumnCount =  3 
        .ColumnWidths = "100 pt;100 pt;100 pt"
        .AddItem "a"
        .Column( 1 , .ListCount -  1 ) = "b"
        .Column( 2 , .ListCount -  1 ) = "C"
        .AddItem "dfgdfhsfsgh"
        .Column( 1 , .ListCount -  1 ) = "dfg"
        .Column( 2 , .ListCount -  1 ) = "aeraerhgysrethysrt"
    End With
...
Рейтинг: 0 / 0
01.03.2007, 12:21
    #34363149
Arthur26
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Комбобокс с 3-мя столбцами
vkodor, в VB6 у контрола ComboBox есть свойства .ColumnCount, .ColumnWidths, .Column() ?
...
Рейтинг: 0 / 0
01.03.2007, 12:47
    #34363280
Бенедикт
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Комбобокс с 3-мя столбцами
Arthur26,
подключи библиотеку Microsoft Forms 2.0
...
Рейтинг: 0 / 0
01.03.2007, 13:13
    #34363407
Arthur26
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Комбобокс с 3-мя столбцами
Благодарен всем за все советы.
...
Рейтинг: 0 / 0
15.03.2007, 13:04
    #34393052
Dick Johnson
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Комбобокс с 3-мя столбцами
БенедиктArthur26,
подключи библиотеку Microsoft Forms 2.0 Ламерский вопрос: как это сделать?
Пробую стандартым путем пишет : names conflict with existinng module, project, or object library
...
Рейтинг: 0 / 0
15.03.2007, 15:08
    #34393651
VladConn
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Комбобокс с 3-мя столбцами
Вот что пишет сам Microsoft о своих "Forms 2.0 controls":

The Forms 2.0 controls were designed for use only with VBA-enabled applications like Microsoft Office. They were not tested for any other environment and are unlikely to work properly. This is by-design.

Я правда не могу сказать, насколько это правомерно в отношении VB6 "environment". Я бы просто взял какую-нибудь grid.

vladconn
...
Рейтинг: 0 / 0
15.03.2007, 15:15
    #34393686
VladConn
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Комбобокс с 3-мя столбцами
Да, так и есть, ребята из конторы категорически против идеи использования Microsoft Forms 2.0 контролей в Visual Basic приложениях:

Microsoft Forms 2.0 controls may behave differently depending on the container. For example, a Microsoft Forms combo box in a Microsoft Visual Basic application may appear to work correctly. However, if the combo box is sited on a Visual Basic ActiveX Control, and then the control runs under Internet Explorer, the control does not list any of the elements that are loaded in it using the Add method. You see a combo box of minimum width that does not appear to respond to click events.

The problem is not limited to the combo box. Other controls in the Microsoft Forms package exhibit similar problems under Internet Explorer.

Здесь рассматривается головная боль, которая разыгрывается от написания таких приложений для браузера. Но это только пример, и он, как они пишет, может быть не единичным.

Я давно это подозревал.

vladconn
...
Рейтинг: 0 / 0
15.03.2007, 15:28
    #34393750
VladConn
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Комбобокс с 3-мя столбцами
Вот, прямым текстом от самих разработчиков Microsoft Forms 2.0:

The Microsoft Forms 2.0 package was not designed to work outside the Visual Basic for Applications environment....

....using Forms in this manner is neither recommended nor supported.

vladconn
...
Рейтинг: 0 / 0
15.03.2007, 15:43
    #34393831
baclanov
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Комбобокс с 3-мя столбцами
Поставить шрифт моноширинный, считать длину символов, разницу добивать space()
...
Рейтинг: 0 / 0
15.03.2007, 15:48
    #34393854
VladConn
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Комбобокс с 3-мя столбцами
Мда...
...
Рейтинг: 0 / 0
16.03.2007, 10:09
    #34395259
AndrF
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Комбобокс с 3-мя столбцами
Все примитивно - можно сделать свой простенький UserControl, где в качестве распахивающейся части используется Grid - это несложно.
...
Рейтинг: 0 / 0
16.03.2007, 10:31
    #34395381
Бенедикт
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Комбобокс с 3-мя столбцами
Ну, если делать UserControl, то можно сделать его на основе обычного ListBox, которому посылается LB_SETTABSTOPS. Правда, там единицы измерения неудобные.
...
Рейтинг: 0 / 0
16.03.2007, 10:40
    #34395429
Бенедикт
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Комбобокс с 3-мя столбцами
Dick JohnsonЛамерский вопрос: как это сделать?
Пробую стандартым путем пишет : names conflict with existinng module, project, or object library
Dick Johnson, нужно, чтобы библиотека была подключена либо в Components (если хочешь, чтобы кнопки создания элементов управления появились в Toolbox), либо в References (только программный доступ), но не в обоих сразу.
...
Рейтинг: 0 / 0
20.03.2007, 22:18
    #34404322
Старый ворчун
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Комбобокс с 3-мя столбцами
VladConnВот, прямым текстом от самих разработчиков Microsoft Forms 2.0:

The Microsoft Forms 2.0 package was not designed to work outside the Visual Basic for Applications environment....

....using Forms in this manner is neither recommended nor supported.

vladconn
От Microsoft, прямым текстом :), об использовании контролов Microsoft Forms 2.0 на VB.Form:
http://support.microsoft.com/kb/193540/en-us
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Комбобокс с 3-мя столбцами / 23 сообщений из 23, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]