Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 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
11-1195771438
tigra
2007-11-23 01:43
2008.11.23
kol+vcl indy


15-1222008803
Синий Палец
2008-09-21 18:53
2008.11.23
Английский Язык


15-1222172851
Vlad Oshin
2008-09-23 16:27
2008.11.23
скажите, это что такое?


2-1223727776
DFT
2008-10-11 16:22
2008.11.23
SendMessage наследнику TObject


15-1222069411
Пробежал...
2008-09-22 11:43
2008.11.23
Отличия между D2007 Prof и Enterprise





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский