Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 08.05.2024, 12:50
Maks19 Maks19 вне форума
Начинающий
 
Регистрация: 19.06.2019
Сообщения: 119
Версия Delphi: Delphi7
Репутация: 10
По умолчанию Запрет ввода в edit

Здравствуйте, можно ли через свойства компонента edit запретить редактирование введенного на этапе разработки программы текста или можно только через написание кода?
Ответить с цитированием
  #2  
Старый 08.05.2024, 15:38
Vladimr Vladimr вне форума
Прохожий
 
Регистрация: 17.03.2021
Сообщения: 45
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию

Есть два варианта как сделать через свойства

Enabled=false
ReadOnly=true
Ответить с цитированием
  #3  
Старый 08.05.2024, 22:54
Maks19 Maks19 вне форума
Начинающий
 
Регистрация: 19.06.2019
Сообщения: 119
Версия Delphi: Delphi7
Репутация: 10
По умолчанию

Если через Enabled введенная надпись как бы тускнеет, а через ReadOnly ввести нельзя, но курсор поставить можно. А как сделать что бы и курсор нельзя поставить?
Ответить с цитированием
  #4  
Старый 09.05.2024, 00:36
Аватар для Verevkin
Verevkin Verevkin вне форума
Прохожий
 
Регистрация: 22.06.2015
Сообщения: 43
Версия Delphi: 3...XE12
Репутация: -50
По умолчанию

Цитата:
Сообщение от Maks19
А как сделать что бы и курсор нельзя поставить?
Зачем это надо-то?
Можно передать фокус куда-то ещё в обработчике OnEnter, но это ж издевательство над юзером.
__________________
Хей-хей-хей! Только не ходите в мой сарай, лады?..
Ответить с цитированием
  #5  
Старый 09.05.2024, 09:35
Maks19 Maks19 вне форума
Начинающий
 
Регистрация: 19.06.2019
Сообщения: 119
Версия Delphi: Delphi7
Репутация: 10
По умолчанию

Цитата:
Сообщение от Verevkin
Зачем это надо-то?
Можно передать фокус куда-то ещё в обработчике OnEnter, но это ж издевательство над юзером.
Почему издевательство, просто нет цели изменять содержимое edit, а нужно просто показать текст в edit. Куда передать фокус можно подробнее?
Ответить с цитированием
  #6  
Старый 09.05.2024, 14:58
Vladimr Vladimr вне форума
Прохожий
 
Регистрация: 17.03.2021
Сообщения: 45
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию

Цитата:
Сообщение от Maks19
Почему издевательство, просто нет цели изменять содержимое edit, а нужно просто показать текст в edit.


Если нет цели изменять это значение, то не легче использовать Label? Он как раз и предназначен только для выведения текста, а не для его дальнейшего изменения.
Либо если хотите через передачу фокуса, то тогда можно передавать фокус на невидимый объект.

Последний раз редактировалось Vladimr, 09.05.2024 в 15:05.
Ответить с цитированием
  #7  
Старый 09.05.2024, 21:14
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,057
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Тогда 2 варианта.
1. ReadOnly := True; TabStop := False. Недостаток - можно кликнуть мышкой, тогда контрол все таки получит фокус.
2. Enabled := False и ручная отрисовка. Недостаток - придется реализовывать отрисовку самостоятельно, что бы даже в таком режиме контрол отрисовывался как обычно.

Ну и да, проще в таком случае использовать метку (label).
Ответить с цитированием
  #8  
Старый 11.05.2024, 14:23
Maks19 Maks19 вне форума
Начинающий
 
Регистрация: 19.06.2019
Сообщения: 119
Версия Delphi: Delphi7
Репутация: 10
По умолчанию

Программно тоже нельзя? Через какой компонент аналогичный edit можно?
Ответить с цитированием
  #9  
Старый 12.05.2024, 00:38
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,057
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Можно попробовать эмулировать через TPanel. Но все равно будет выглядень по другому. Ну и при смене темы тоже будет отличвться...

Посмотри все-таки в сторону перекрытия отрисовки.
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 20:20.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter