Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.11.23;
Скачать: CL | DM;

Вниз

Работа с несколькими 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;
Скачать: CL | DM;

Наверх




Память: 0.53 MB
Время: 0.015 c
4-1198642093
Black_Tomcat
2007-12-26 07:08
2008.11.23
Отловить сообщение во втором потоке созданным CreateThread


2-1224129438
D@nger
2008-10-16 07:57
2008.11.23
Тип Ixmlnode и запись его в файл


6-1195631001
novill
2007-11-21 10:43
2008.11.23
Как получить показания времени на удаленной машине по сети?


2-1223801070
KTA
2008-10-12 12:44
2008.11.23
Вывод на печать


15-1222070588
DillerXX
2008-09-22 12:03
2008.11.23
Требуется помощь телепатов высокого уровня