Форум: "Начинающим";
Текущий архив: 2008.11.23;
Скачать: [xml.tar.bz2];
ВнизРабота с несколькими Combobox - как? Найти похожие ветки
← →
DJones (2008-10-09 16:14) [0]Прошу совета - суть такова - есть форма с большим количеством Комбобоксов, пользователь может выставить value в каждом из выпадающего списка, далее по нажатию кнопки обрабатываются данные из тех комбобоксов, значение в которых изменились - тут я полагаю, можно использовать свойство tag. Но вот как наиболее рационально обратиться (перебрать их для определения признака измеился ли value) к элементам формы, если их действительно много?
← →
Ega23 © (2008-10-09 16:19) [1]
for i:=0 to ComponentCount-1 do
if (Components[i] is TComboBox) then
if TComboBox(Components[i]).Tag>0 then
Это твой ComboBox;
← →
DJones (2008-10-09 16:24) [2]!!!! Благодарю!Именно это)))
← →
Германн © (2008-10-09 16:58) [3]А ещё лучше перебирать контролы, а не компоненты
← →
Ega23 © (2008-10-09 17:53) [4]
> А ещё лучше перебирать контролы, а не компоненты
Рекурсивно на всех TWinContol"ах.
← →
Германн © (2008-10-09 18:39) [5]
> Ega23 © (09.10.08 17:53) [4]
>
>
А этого не было в условиях задачи! А также в условиях задачи не указано как эти комбобоксы были созданы!
:)
← →
DJones (2008-10-10 01:23) [6]А в чем отличие?
← →
turbouser © (2008-10-10 01:31) [7]
> DJones (10.10.08 01:23) [6]
>
> А в чем отличие?
Компонентов может быть больше, чем контролов.
← →
DJones (2008-10-10 01:34) [8]И вот еще какой появился вопрос к опытным мастерам Делфи - какой компонент лучше применить (Delphi 6) для такой задачки - есть набор целочисленных значений параметров прибора, которые нужно вывести на форму столбиком, может быть с полосой прокрутки, т к их много... с возможностью поменять значение каждого, например из выпадающего списка... Мне кажется, есть готовые компоненты на эту тему, чтобы красиво, удобно и не лепить много-много комбобоксов...К сожалению, с дельфи пока не очень..
Спасибо!
← →
turbouser © (2008-10-10 01:43) [9]
> DJones (10.10.08 01:34) [8]
Компоненты есть для этого. Какие именно - зависит от задачи.
Может EhLib подойдет, может и DevExpress.
Если все элементарно, то достаточно, например,
ListBox, StringGrid (или DrawGrid) + подставляемый ComboBox...
← →
DJones (2008-10-10 01:56) [10]А ссылочку на пример, если не затруднит?
← →
engine © (2008-10-10 02:08) [11]google.ru
← →
Германн © (2008-10-10 02:10) [12]
> turbouser © (10.10.08 01:31) [7]
>
>
> > DJones (10.10.08 01:23) [6]
> >
> > А в чем отличие?
>
> Компонентов может быть больше, чем контролов.
>
Это правильно, но это не главное отличие!
Главное отличие - это то, что компоненту не обязательно иметь владельца, следовательно компонент может отсутствовать в списке Components. А вот контрол обязательно должен иметь родителя (Parent по ихнему), иначе смысла в этом контроле никакого нет и быть не может. Значит контрол обязательно будет в списке Controls. Ну а дальше, как правильно указал Ega23 © (09.10.08 17:53) [4], рекурсия наш помощник.
← →
Германн © (2008-10-10 02:28) [13]
> DJones (10.10.08 01:34) [8]
>
> И вот еще какой появился вопрос к опытным мастерам Делфи
> - какой компонент лучше применить (Delphi 6) для такой задачки
> - есть набор целочисленных значений параметров прибора,
> которые нужно вывести на форму столбиком, может быть с полосой
> прокрутки, т к их много... с возможностью поменять значение
> каждого, например из выпадающего списка... Мне кажется,
> есть готовые компоненты на эту тему
Когда кажется, нужно "креститься". (с) Народная мудрость.
← →
Ega23 © (2008-10-10 09:31) [14]
> А вот контрол обязательно должен иметь родителя
Не обязательно. Ну, в смысле parent=nil. Толку правда действительно от этого нет, но ...
← →
DJones (2008-10-10 14:12) [15]
> ListBox, StringGrid (или DrawGrid) + подставляемый ComboBox.
> ..
Подставляемый - это как?
← →
{RASkov} © (2008-10-10 14:14) [16]> [15] DJones (10.10.08 14:12)
В нужное место и в нужное время подстовляется один единственный для всех комбик....
← →
{RASkov} © (2008-10-10 14:16) [17]т.е. его координаты положения, размеры и состав итемсов... подстовляются туда куда нужно... в момент времени...
← →
DJones (2008-10-10 14:55) [18]т е в обработчике события OnKeyDown прописываем свойства этого комбика, типа делаем его видимым, размещаем его там куда ткнули мышью и дальше после выбора в нем определенного итема из выпадающего списка передаем данное значение в (стринггрид?)
← →
turbouser © (2008-10-10 15:09) [19]
> DJones (10.10.08 14:55) [18]
> т е в обработчике события OnKeyDown
Нет, не там. Для листбокса вполне подойдет OnMouseUp,
для String(Draw)Grid - OnSelectCell
> размещаем его там куда ткнули мышью
Да. Вписываем его в ячейку грида или итема листбокса.
← →
turbouser © (2008-10-10 15:11) [20]Хотя, да. Для листбокса еще и OnKeyDown
← →
Leonid Troyanovsky © (2008-10-10 16:36) [21]
> DJones (10.10.08 14:12) [15]
> Подставляемый - это как?
http://groups.google.com/group/borland.public.delphi.vcl.components.using/msg/980871d384b1ad17
--
Regards, LVT.
← →
DJones (2008-10-11 02:17) [22]Очень благодарен... буду разбирать...
← →
Германн © (2008-10-11 02:59) [23]
> DJones (11.10.08 02:17) [22]
>
> Очень благодарен... буду разбирать...
На всякий пожарный. У Торри есть куча бесплатных компонент с такой функциональностью.
P.S. Токо не говорите, что я пособничаю троешникам и двоешникам. :)
← →
DJones (2008-10-13 09:39) [24]Т.е. человек, никогда не работавший с этими вещами, должен сразу знать, что такое "торри"?))))
← →
{RASkov} © (2008-10-13 10:43) [25]> [24] DJones (13.10.08 09:39)
Не, не сразу.... постепенно. А ты хочешь сразу... :)
← →
DJones (2008-10-13 10:46) [26]В любом случае, спасибо за советы, очень ценно когда можно получить совет в плане направления, по которому копать...)))
← →
Германн © (2008-10-13 15:35) [27]
> DJones (13.10.08 09:39) [24]
http://www.torry.net/
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2008.11.23;
Скачать: [xml.tar.bz2];
Память: 0.51 MB
Время: 0.006 c