Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.62/74: Рейтинг темы: голосов - 74, средняя оценка - 4.62
 Аватар для Кротяка
7 / 7 / 1
Регистрация: 20.12.2010
Сообщений: 392

Запрет на редактирование ComboBox

09.05.2013, 01:07. Показов 15080. Ответов 13
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Вобщем нашёл в гугле нужное мне решение проблемы, правда на Delphi, а в нём я недалёк
нужно просто написать как будеть выглядеть это
Delphi
1
Key := #0
на C
собственно Builder отказывается работать с решёткой, а я не пойму, что она делает, поэтому не знаю, чем заменить её
Понимаю, что вопрос глуповат, но мне это очень поможет
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
09.05.2013, 01:07
Ответы с готовыми решениями:

Запрет редактирование строки
Есть DBGridEh. Можно ли запретить редактирование какой-либо строки? Есть свойство ReadOnly но оно для колонки, а для строчки что-то...

Запрет на прокрутку ComboBox колесом мыши
Доброго времени суток. Возникла проблемка, суть следующая: У меня на форме есть ComboBox. При создании формы курсор оказывается в нем....

TOraQuery запрет вставки, разрешить только редактирование
На TDBGridEh отображаются некие данные. как сделать что бы эти данные можно было только редактировать?

13
 Аватар для Lelik-pahan
1703 / 899 / 207
Регистрация: 25.11.2009
Сообщений: 1,848
09.05.2013, 01:09
C++
1
Key = 0;
Видимо ты пытаешься фильтровать нажатие клавиш...
1
 Аватар для Кротяка
7 / 7 / 1
Регистрация: 20.12.2010
Сообщений: 392
09.05.2013, 01:12  [ТС]
Цитата Сообщение от Lelik-pahan Посмотреть сообщение
C++
1
Key = 0;
Видимо ты пытаешься фильтровать нажатие клавиш...
вобщем мне нужно поставить запрет на редактирование ComboBox, как например в Edit есть ReadOnly
судя по записям на форумах это проблему решает
0
 Аватар для Lelik-pahan
1703 / 899 / 207
Регистрация: 25.11.2009
Сообщений: 1,848
09.05.2013, 01:14
У комбобокса есть свойство Style. Установи значение csDropDownList
2
Почемучка)
 Аватар для Ddv122
1244 / 304 / 30
Регистрация: 23.12.2010
Сообщений: 2,001
Записей в блоге: 1
09.05.2013, 01:15
стиль другой комбобокса выберите
1
 Аватар для Кротяка
7 / 7 / 1
Регистрация: 20.12.2010
Сообщений: 392
09.05.2013, 01:20  [ТС]
нашёл решение
нужно просто сделать вот так
C++
1
2
3
4
5
6
7
8
9
10
11
void __fastcall TEmployees::ComboBox1KeyPress(TObject *Sender, char &Key)
{
    Key = 0;    
}
//---------------------------------------------------------------------------
void __fastcall TEmployees::ComboBox1KeyDown(TObject *Sender, WORD &Key,
      TShiftState Shift)
{
    Key = 0;    
}
//---------------------------------------------------------------------------
ну и плюс в свойстве Style установить значение csSimple
P.S. csDropDownList по сути ничего не меняет
0
 Аватар для Lelik-pahan
1703 / 899 / 207
Регистрация: 25.11.2009
Сообщений: 1,848
09.05.2013, 01:23
Лучший ответ Сообщение было отмечено как решение

Решение

Ты нашёл не решение, а извращение

csDropDownList делает комбобокс нередактируемым
3
 Аватар для Кротяка
7 / 7 / 1
Регистрация: 20.12.2010
Сообщений: 392
09.05.2013, 01:26  [ТС]
Цитата Сообщение от Lelik-pahan Посмотреть сообщение
Ты нашёл не решение, а извращение

csDropDownList делает комбобокс нередактируемым
неправда. У меня редактируется
0
 Аватар для Lelik-pahan
1703 / 899 / 207
Регистрация: 25.11.2009
Сообщений: 1,848
09.05.2013, 01:27
Может ты выбрал csDropDown, а не csDropDownList ?
Не может он редактироваться при csDropDownList
1
 Аватар для Кротяка
7 / 7 / 1
Регистрация: 20.12.2010
Сообщений: 392
09.05.2013, 01:34  [ТС]
Цитата Сообщение от Lelik-pahan Посмотреть сообщение
Может ты выбрал csDropDown, а не csDropDownList ?
Не может он редактироваться при csDropDownList
Вот полюбуйся
Миниатюры
Запрет на редактирование ComboBox   Запрет на редактирование ComboBox  
0
 Аватар для Lelik-pahan
1703 / 899 / 207
Регистрация: 25.11.2009
Сообщений: 1,848
09.05.2013, 01:38
Всё дело в том, что мы разные вещи понимаем под словом "редактируемый".
Я тебе говорил о том как сделать, чтобы нельзя было менять текст строк комбобокса. (нельзя поставить в нём курсор и написать что-то своё)
А тебе надо было заблокировать выбор...

Как вариант, можно поставить Enabled = false, правда он станет сереньким.
1
 Аватар для Кротяка
7 / 7 / 1
Регистрация: 20.12.2010
Сообщений: 392
09.05.2013, 02:02  [ТС]
Цитата Сообщение от Lelik-pahan Посмотреть сообщение
Всё дело в том, что мы разные вещи понимаем под словом "редактируемый".
Я тебе говорил о том как сделать, чтобы нельзя было менять текст строк комбобокса. (нельзя поставить в нём курсор и написать что-то своё)
А тебе надо было заблокировать выбор...

Как вариант, можно поставить Enabled = false, правда он станет сереньким.
в том то и проблема...вобщем свой метод считаю вполне нормальным для использования
не подскажешь кстати, с CheckBox можно что то подобное сделать?
0
 Аватар для Lelik-pahan
1703 / 899 / 207
Регистрация: 25.11.2009
Сообщений: 1,848
09.05.2013, 02:09
Можно запомнить состояние чекбокса (записать в булеву переменную), и при клике каждый раз возвращать его.
C++
1
2
3
4
void __fastcall TForm1::CheckBox1Click(TObject *Sender)
{
    CheckBox1->Checked = chbState;
}
Но вообще, на мой взгляд, правильнее пользоваться свойством Enabled. А то что компонент становится сереньким - так это специально сделано, чтобы пользователь видел, что в данный момент элемент не доступен для изменения. Это своего рода стандарт для интерфейса.
Лично у меня бы вызвал недоумение комбобокс или чекбокс, который горит обычным цветом, но при этом не реагирует на мои действия...
2
 Аватар для Кротяка
7 / 7 / 1
Регистрация: 20.12.2010
Сообщений: 392
09.05.2013, 02:26  [ТС]
Цитата Сообщение от Lelik-pahan Посмотреть сообщение
Можно запомнить состояние чекбокса (записать в булеву переменную), и при клике каждый раз возвращать его.
C++
1
2
3
4
void __fastcall TForm1::CheckBox1Click(TObject *Sender)
{
    CheckBox1->Checked = chbState;
}
Но вообще, на мой взгляд, правильнее пользоваться свойством Enabled. А то что компонент становится сереньким - так это специально сделано, чтобы пользователь видел, что в данный момент элемент не доступен для изменения. Это своего рода стандарт для интерфейса.
Лично у меня бы вызвал недоумение комбобокс или чекбокс, который горит обычным цветом, но при этом не реагирует на мои действия...
спасибо! приму на заметку
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
09.05.2013, 02:26
Помогаю со студенческими работами здесь

Запрет на ручное редактирование и разрешение на программное редактирование
Добрый день, коллеги. Вопрос следующий. Возможно ли инструментами VBA установить запрет на ручное редактирование данных в книге Excel, но...

Запрет на редактирование строки ТЧ
Хочу сделать в документе Задолженности в ТЧ Пени запрет на редактирование конкретной строки. Условие - поле Погасил должно иметь значение...

TextBox - запрет на редактирование
Ну собственно вопрос в названии темы! Можно ли сделать текстбокс нередактируемым? Т.е. например я передал значение из текстбокса одной...

Запрет на редактирование Memo
Как поставить запрет на редактирование Memo, кроме Enabled? Enabled запрещает редактирование Memo, но при этом текст становится серым. Еще...

Запрет на редактирование полей
Уважаемые эксперты возник такой вопрос Можно ли запретить редактирование определённых полей в документе для конкретных пользователей...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru