Гость
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Есть ли свойство для combobox (ширина данных в комбо)? / 8 сообщений из 8, страница 1 из 1
29.04.2011, 10:04
    #37239509
Kochegra
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Есть ли свойство для combobox (ширина данных в комбо)?
Добрый день!
Подскажите пожалуйста, есть ли какое свойство, которое данные в комбобоксе выравнивает по ширине самого комбо?
Т.е. у меня допустим есть комбо шириной в 100. А в табличке ширина отоброжаемого поля 200. При этом когда раскрываешь список, то данные как бы вылазят за границы самого комбо бокса, т.е. шире. Это очень некрасиво. Как сделать, так, чтобы список по ширине совпадал с с шириной комбобокса?
создаю такой объект на курсоре.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
ADD OBJECT oCombo1 as ComboBox WITH; 
		TOP= 5 ,;
		LEFT= 60 ,;
		WIDTH= 200 ,;
		RowSourceType =  3 ,;
		RowSource = "select fio,id_sotr,dolgn,rukov,login from t_sotr into cursor curCombo1 order by 1",; 
		BoundColumn = curCombo1.id_sotr
...
Рейтинг: 0 / 0
29.04.2011, 11:11
    #37239642
Koryuu
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Есть ли свойство для combobox (ширина данных в комбо)?
ColumnWidths?

Или я вопрос неправильно поняла?
...
Рейтинг: 0 / 0
29.04.2011, 11:26
    #37239692
Dag
Dag
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Есть ли свойство для combobox (ширина данных в комбо)?
Куда нибудь в Init

This.ColumnWidths = ALLTRIM(STR((This.Width-40)*0.7))+','+ALLTRIM(STR((This.Width-40)*0.3))
...
Рейтинг: 0 / 0
29.04.2011, 11:37
    #37239721
Marina N.
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Есть ли свойство для combobox (ширина данных в комбо)?
Combo.ColumnCount = 2
Combo.ColumnLines = .F.
Combo.ColumnWidths = <ширина самого Combobox> , 0

Есть маленькая гадость: справа остается узкая пустая полоса
...
Рейтинг: 0 / 0
29.04.2011, 12:30
    #37239860
XAndy
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Есть ли свойство для combobox (ширина данных в комбо)?
Marina N., нет никакой гадости ;)

Код: plaintext
1.
2.
3.
4.
* Combobox.Init()
if .Width> 60 
   .ColumnWidths = ltrim(str(.Width-iif(.ListCount>evl(.DisplayCount, 7 ), 40 , 40 -sysmetric( 5 )))) + replicate(',0',max(.ColumnCount, 1 )- 1 )
endif
...
Рейтинг: 0 / 0
29.04.2011, 12:31
    #37239862
Kochegra
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Есть ли свойство для combobox (ширина данных в комбо)?
Marina N.,

Впринципе, нормально для данной задачи. Но не есть идеально. Так сказать обманывать приходится фокс. Интересно, есть ли более "красивое решение"...
...
Рейтинг: 0 / 0
29.04.2011, 13:10
    #37239973
Marina N.
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Есть ли свойство для combobox (ширина данных в комбо)?
Kochegra,

"Прямого" решения, насколько мне известно, нет. Все - сполшной обман. ;-)

Обратите внимание на то, что предложил XAndy.
Упомянутая мной "пустая" полоска - это, вроде бы, место, отводимое под стрелки вертикального скроллинга.
Ширину это полосы можно определить с помощью SYSMETRIC(5).

У меня как-то не получилось "с налета" добиться от этой функции толку.
Попробую решение XAndy.
...
Рейтинг: 0 / 0
29.04.2011, 13:24
    #37240015
Marina N.
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Есть ли свойство для combobox (ширина данных в комбо)?
Еще имеет место быть такое решение:

в качестве источника (RowSource) использовать не саму таблицу, а
выборку SELECT (возможно, всех данных, без фильтрации) в курсор, например.
И при этом обработать нужные поля функцией ALLTRIM() или LTRIM(), или как угодно еще, чтобы
удалить из полей записи лишние пробелы.

RowSource = "select ALLTRIM(fio), ALLTRIM(id_sort), <.... и т.д.>"
...
Рейтинг: 0 / 0
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Есть ли свойство для combobox (ширина данных в комбо)? / 8 сообщений из 8, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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