Заборона введення тексту в tcombobox

Як максимально просто заборонити ручне введення тексту в TComboBox, зберігши можливість вибирати з наявних значень?

З повагою, 3asys

> 3asys
TComboBox: = csDropDownList?

стиль csDropDown
Справа в тому, що я програмно генеруючи список варіантів і при csDropDownList при створенні форми в ComboBox - пусте поле, яке зникає після вибору першого ж варіанта, а при csDropDown, ComboBox відразу встановлюється на перший варіант (чтот мені і потрібно). Програмно виставити його при стилі csDropDownList на перший варіант: ComboBox1.Text: = ComboBox1.Items [0]
не вдається - все одно при завантаженні висвічується порожнє поле (якого я не створював).

Як можна заборонити редагування в режимі csDropDown.

З повагою, 3asys

з режимом csOwnerDrawFixed - та ж проблема, що і з csDropDownList

З повагою, 3asys

ну загорнув!
це так стиль встановити
ComboBox1.Style: = csDropDownList;
а так зробити щоб ні один з елементів обраний не був
ComboBox1.ItemIndex: = -1;

ComboBox1.ItemIndex: = 0;
а це встановити на перший варіант

СПАСИБІ ВЕЛИКЕ ВСІМ!

блін як ти форму ваще примудрився створити, я ось дивуюся.

Для компонентів а-ля TComboBox, якщо з якихось причин не працює ComboBox1.ItemIndex: = n (наприклад у випадку з TDBLookUpComboBox) можна додати такий рядок:
TDBLookUpComboBox.Perform (WM_KEYDOWN, 38) - працює завжди

Пам'ять: 0.73 MB
Час: 0.037 c

Схожі статті