Робота з декількома Combobox - як?
Прошу ради - суть така - є форма з великою кількістю Комбобоксов, користувач може виставити value в кожному зі списку, далі після натискання кнопки обробляються дані з тих комбобоксов, значення в яких змінилися - тут я вважаю, можна використовувати властивість tag. Але ось як найбільш раціонально звернутися (перебрати їх для визначення ознаки Изме чи value) до елементів форми, якщо їх дійсно багато?
for i: = 0 to ComponentCount-1 do
# XA0; if (Components [i] is TComboBox) then
# XA0; # XA0; if TComboBox (Components [i]). Tag> 0 then
# XA0; # XA0; # XA0; Це твій ComboBox;
А ще краще перебирати контроли, а не компоненти
> А ще краще перебирати контроли, а не компоненти
Рекурсивно на всіх TWinContol "ах.
> DJones # XA0; (10.10.08 1:23) [6]
>
> А в чому відмінність?
Компонентів може бути більше, ніж контролів.
І ось ще який з'явився питання до досвідчених майстрів Делфі - який компонент краще застосувати (Delphi 6) для такої задачі - є набір цілочисельних значень параметрів приладу, які потрібно вивести на форму стовпчиком, може бути з смугою прокрутки, т до їх багато. з можливістю поміняти значення кожного, наприклад зі списку. Мені здається, є готові компоненти на цю тему, щоб красиво, зручно і не ліпити багато-багато комбобоксов. На жаль, з дельфи поки не дуже.
Дякуємо!
> DJones # XA0; (10.10.08 1:34) [8]
Компоненти є для цього. Які саме - залежить від завдання.
Може EhLib підійде, може і DevExpress.
Якщо все елементарно, то досить, наприклад,
ListBox, StringGrid (або DrawGrid) + підставляється ComboBox.
А ссилочку на приклад, якщо не утруднить?
> DJones # XA0; (10.10.08 1:34) [8]
>
> І ось ще який з'явився питання до досвідчених майстрів Делфі
> - який компонент краще застосувати (Delphi 6) для такої задачки
> - є набір цілочисельних значень параметрів приладу,
> Які потрібно вивести на форму стовпчиком, може бути з смугою
> Прокрутки, т до їх багато. з можливістю поміняти значення
> Кожного, наприклад зі списку. Мені здається,
> Є готові компоненти на цю тему
Коли здається, потрібно "хреститися". (С) Народна мудрість.
> А ось контрол обов'язково повинен мати батька
Не обов'язково. Ну, в сенсі parent = nil. Толку правда дійсно від цього немає, але.
> ListBox, StringGrid (або DrawGrid) + підставляється ComboBox.
>.
Підставляється - це як?
> [15] DJones # XA0; (10.10.08 14:12)
У потрібне місце і в потрібний час подстовляется один єдиний для всіх комбік.
тобто його координати положення, розміри і склад ітемсов. подстовляются туди куди потрібно. в момент часу.
т е в обробнику події OnKeyDown прописуємо властивості цього комбіка, типу робимо його видимим, розміщуємо його там куди ткнули мишею і далі після вибору в ньому певного ітемов зі списку передаємо дане значення в (стрінггрід?)
> DJones # XA0; (10.10.08 14:55) [18]
> Т е в обробнику події OnKeyDown
Ні, не там. Для лістбокса цілком підійде OnMouseUp,
для String (Draw) Grid - OnSelectCell
> Розміщуємо його там куди ткнули мишею
Так. Вписуємо його в осередок гріда або ітемов лістбокса.
Хоча, так. Для лістбокса ще й OnKeyDown
> DJones # XA0; (10.10.08 14:12) [15]
Дуже вдячний. буду розбирати.
> DJones # XA0; (11.10.08 2:17) [22]
>
> Дуже вдячний. буду розбирати.
На всякий пожежний. У Торрі є купа безкоштовних компонент з такою функціональністю.
P.S. Токо не кажіть, що я пособниками трієчників і двоешнікам. )
Тобто людина, ніколи не працював з цими речами, повинен відразу знати, що таке "Торро"?))))
> [24] DJones # XA0; (13.10.08 09:39)
Не, не відразу. поступово. А ти хочеш відразу. )
У будь-якому випадку, спасибі за поради, дуже цінно коли можна отримати пораду в плані напряму, по якому копати. )))