Logo Море(!) аналитической информации!
IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware
Архив форумов ЦИТФорума
Море(!) вопросов - Море(!) ответов
 
 FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы   РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 
Как правильно задавать вопросы

Работа с TListBox и TEdit в C++Builder

 
Перейти:  
Этот форум закрыт, вы не можете писать новые сообщения и редактировать старые.   Эта тема закрыта, вы не можете писать ответы и редактировать сообщения.    Список форумов Архив форумов ЦИТФорума -> Программирование
Предыдущая тема :: Следующая тема  
Автор Сообщение
Nelly



Зарегистрирован: 07.06.2006
Сообщения: 7

СообщениеДобавлено: Чт Ноя 16 2006 11:03    Заголовок сообщения: Работа с TListBox и TEdit в C++Builder Ответить с цитатой

Помогите, есть две проблемы:
1. Как можно задать для Edit-а маску ввода даты (**.**.****)? Как проверить, что были введены цифры, а не буквы?
2. Как в ListBox-е работать с колонками? Для создания колонок нужно присвоить св-ву Columns кол-во колонок, но как с ними работать дальше, т е добавлять и извлекать значения?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Mytilus Galloprovincialis



Зарегистрирован: 30.08.2005
Сообщения: 358
Откуда: откуда все люди родятся

СообщениеДобавлено: Чт Ноя 16 2006 20:55    Заголовок сообщения: Ответить с цитатой

Ну, во-первых, для ввода по маске используется не TEdit, а TMaskEdit. Во-вторых, TListBox разбивает строки на колонки, но их индексы сохраняются. То есть, так:

Индекс 0   Индекс 4   Индекс 8
Индекс 1   Индекс 5   Индекс 9
Индекс 2   Индекс 6
Индекс 3   Индекс 7

По этим индексам и обращаешься к строкам.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Nelly



Зарегистрирован: 07.06.2006
Сообщения: 7

СообщениеДобавлено: Пт Ноя 17 2006 10:59    Заголовок сообщения: Ответить с цитатой

Спасибо, с Edit –ом разобралась. А вот с ListBox-ом сложнее. У меня такая задача: мне нужно вывести в ListBox данные: ФИО человека и его должность в одну строку, но в разные столбцы сразу и так, чтобы при выборе пользователя ФИО и должность воспринималась как единая строка а получается, что сначала планка «бегает» по ФИО, а затем по должностям. И возможно ли установить размер для каждой колонки и сделать границу столбцов видимой? Возможно ли это организовать с помощью лист бокса или нужно использовать что-то другое? Если можно, то пример с кодом я ж ведь начинающая!
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Dimasm



Зарегистрирован: 25.04.2005
Сообщения: 454

СообщениеДобавлено: Сб Ноя 18 2006 00:27    Заголовок сообщения: Ответить с цитатой

нуЛеди... ListBox вам не очень подходит, единственное если сделать 1 столбец, шрифт - пропорциональный, например Courier New а строку формировать в таком виде
Код:
ListBox1->Items->Append("----------------+----------------------");
ListBox1->Items->Append("  ФИО           |   Должность");
ListBox1->Items->Append("----------------+----------------------");
ListBox1->Items->Append("Иванов И.И.       |  Бухгалтер");
ListBox1->Items->Append("Петров С.С.       |  ст.Экономист");
ListBox1->Items->Append("----------------+----------------------");
Very Happy
это, наверное немного изврат... поэтому
вам необходим TStringGrid
для заполнения StringGrid1->Cells[1][2] = "Hello";
1- столбец
2- строка
побалуйтесь ещё с такими свойствами
Код:
    StringGrid1->Cells[1][3] = "Hello";
    StringGrid1->ColCount = 30;
    StringGrid1->RowCount = 10;
    StringGrid1->ColWidths[2] = 5;
    StringGrid1->RowHeights[2] = 5;
    StringGrid1->FixedCols = 2;

сделаейте новый проект, воткните туда StringGrid и кнопочку
в кнопочку вставьте выше приведённый код и поэксперементируйте с разными значениями.
_________________
С уважением Dimasm
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Mytilus Galloprovincialis



Зарегистрирован: 30.08.2005
Сообщения: 358
Откуда: откуда все люди родятся

СообщениеДобавлено: Пн Ноя 20 2006 01:54    Заголовок сообщения: Ответить с цитатой

Каждому свое. Я в подобных ситуациях использую TListView. Контрол, конечно, мощноватый для простой таблицы, но конечному пользователю более привычный и знаком по Проводнику и множеству стандартных виндоузских программ и утилит.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Nelly



Зарегистрирован: 07.06.2006
Сообщения: 7

СообщениеДобавлено: Пн Ноя 20 2006 13:42    Заголовок сообщения: Ответить с цитатой

Спасибо большое, действительно решила с ListBox-ом не связываться. Мне больше всего подходит TListView, только вот никак не могу извлекать из него значения. Я программно создаю столбцы, строчки, добавляю значения, но никак не могу из заданного столбца и заданной строчки получить значения.
Помогите справиться Rolling Eyes !
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Mytilus Galloprovincialis



Зарегистрирован: 30.08.2005
Сообщения: 358
Откуда: откуда все люди родятся

СообщениеДобавлено: Пн Ноя 20 2006 17:50    Заголовок сообщения: Ответить с цитатой

Дело в том, что заголовком каждой строки является текст первого столбца такой строки. Остальные столбцы по задумке разработчиков контрола - второстепенные. Поэтому обращение к значению первого столбца отличается от обращения к другим.

ListView1->Items->Item[n]->Caption
Это текст заголовока строки n (первый столбец).

ListView1->Items->Item[n]->SubItems->Strings[x]
Начиная со второго столбца, значения хранятся в виде TStrings (свойство SubItems). Strings[0] - это текст первого второстепенного столбца (то есть, второго от самого начала). Strings[1] - текст второго и т.д.

Удачи! Wink
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Nelly



Зарегистрирован: 07.06.2006
Сообщения: 7

СообщениеДобавлено: Вт Ноя 21 2006 09:17    Заголовок сообщения: Ответить с цитатой

Большое СПАСИБО!!!! Всё получилось, я оч рада Laughing
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Mytilus Galloprovincialis



Зарегистрирован: 30.08.2005
Сообщения: 358
Откуда: откуда все люди родятся

СообщениеДобавлено: Вт Ноя 21 2006 23:04    Заголовок сообщения: Ответить с цитатой

Кстати, для ввода даты, помимо TMaskEdit, удобно использовать TDateTimePicker. Ну, это так... Для справки.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Показать сообщения:   
Этот форум закрыт, вы не можете писать новые сообщения и редактировать старые.   Эта тема закрыта, вы не можете писать ответы и редактировать сообщения.    Список форумов Архив форумов ЦИТФорума -> Программирование Часовой пояс: GMT + 3
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах


Powered by phpBB © 2001, 2002 phpBB Group
Русская поддержка phpBB

 

IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware

Информация для рекламодателей PR-акции, размещение рекламы — adv@citforum.ru,
тел. +7 495 6608306, ICQ 232284597
Пресс-релизы — pr@citforum.ru
Послать комментарий
Информация для авторов
This Web server launched on February 24, 1997
Copyright © 1997-2000 CIT, © 2001-2006 CIT Forum
Внимание! Любой из материалов, опубликованных на этом сервере, не может быть воспроизведен в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Подробнее...