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

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

09.05.2013, 01:07. Показов 15072. Ответов 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
Ответ Создать тему
Новые блоги и статьи
Первый деплой
lagorue 16.01.2026
Не спеша развернул своё 1ое приложение в kubernetes. А дальше мне интересно создать 1фронтэнд приложения и 2 бэкэнд приложения развернуть 2 деплоя в кубере получится 2 сервиса и что-бы они. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит токи на L и напряжения на C в установ. режимах до и. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru