Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 06.02.2015, 13:25   #1
nibufep
Форумчанин
 
Регистрация: 02.08.2014
Сообщений: 476
По умолчанию Сделать чтобы текст в edit можно было только выделять

Как сделать чтобы текст в edit можно было только выделять, тоесть чтобы если кликнуть на него на нем не мигал значок этот.
nibufep вне форума Ответить с цитированием
Старый 06.02.2015, 15:07   #2
FaTaL
Участник клуба
 
Аватар для FaTaL
 
Регистрация: 09.11.2007
Сообщений: 1,759
По умолчанию

Свойство ReadOnly := true
FaTaL вне форума Ответить с цитированием
Старый 06.02.2015, 17:49   #3
nibufep
Форумчанин
 
Регистрация: 02.08.2014
Сообщений: 476
По умолчанию

Цитата:
Сообщение от FaTaL Посмотреть сообщение
Свойство ReadOnly := true
Это понятно но мигающий значок останется
Изображения
Тип файла: png 2015-02-06_174853.png (200 байт, 89 просмотров)
nibufep вне форума Ответить с цитированием
Старый 06.02.2015, 18:14   #4
NIKOLAYY2
Форумчанин
 
Регистрация: 23.12.2014
Сообщений: 220
По умолчанию

Ну дак правильно, а че ты хотел, поле- Edit это оконный компонент и он должен получать в свое окно фокус ввода.
На событие OnClick можеш сделать так например, убрать с него фокус куда-нибуть.

Код:
procedure TForm1.Edit1Click(Sender: TObject);
begin
  Button1.SetFocus;
end;
NIKOLAYY2 вне форума Ответить с цитированием
Старый 06.02.2015, 19:50   #5
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Цитата:
убрать с него фокус куда-нибуть.
Не надо так делать!
Нужно просто описать событие OnEnter, в которое втулить HideCaret(Edit1.Handle);
Это помимо того, что выше FaTaL сказал.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 06.02.2015, 20:58   #6
Dmitry33RU
Пользователь
 
Регистрация: 09.10.2014
Сообщений: 62
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Не надо так делать!
Нужно просто описать событие OnEnter
Небольшая поправочка, нужно прописывать в MouseEnter.
Dmitry33RU вне форума Ответить с цитированием
Старый 06.02.2015, 21:14   #7
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,042
По умолчанию

OnEnter не поможет
MouseEnter - что?
Ставь на OnMouseDown эдита и ReadOnly:=True
Если False, то еще на OnKeyDown
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию

Последний раз редактировалось Аватар; 06.02.2015 в 21:16.
Аватар вне форума Ответить с цитированием
Старый 06.02.2015, 21:45   #8
kropotkina-alice
Форумчанин
 
Аватар для kropotkina-alice
 
Регистрация: 27.10.2014
Сообщений: 594
По умолчанию

1. Edit1.ReadOnly:=True;
2. Edit1.OnMouseDown и Edit1.OnKeyDown -> Edit1.SelectAll;
Всё.
kropotkina-alice вне форума Ответить с цитированием
Старый 06.02.2015, 22:01   #9
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Цитата:
нужно прописывать в MouseEnter.
Это что за событие?
Цитата:
OnEnter не поможет
Мой Лазарус с тобой не согласен:
Код:
unit Unit1;

{$mode objfpc}{$H+}

interface

uses   windows,
  Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls;

type

  { TForm1 }

  TForm1 = class(TForm)
    Button1: TButton;
    Button2: TButton;
    Edit1: TEdit;
    Edit2: TEdit;
    procedure Edit1Enter(Sender: TObject);
  private
    { private declarations }
  public
    { public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.lfm}

{ TForm1 }

procedure TForm1.Edit1Enter(Sender: TObject);
begin
   HideCaret(Edit1.Handle);
end;

end.
Цитата:
Edit1.SelectAll;
А это еще зачем?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 06.02.2015, 22:03   #10
kropotkina-alice
Форумчанин
 
Аватар для kropotkina-alice
 
Регистрация: 27.10.2014
Сообщений: 594
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
А это еще зачем?
Вместо того, чтобы задавать лишние вопросы, полезнее попробовать, не так ли?
Для непонятливых поясню - чтобы не было текстового курсора (так хочет ТС)...
З.Ы. А предложенное в вашем ответе не несёт смысловой нагрузки и не выполняет требований ТС...

Последний раз редактировалось kropotkina-alice; 06.02.2015 в 22:07.
kropotkina-alice вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

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

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Подскажите пожалуйста, как сделать, чтобы в Edit можно было ввести цифры от 0 до 12. ciev Общие вопросы Delphi 6 14.05.2016 17:45
как в delphi сделать чтобы в edit можно было писать только числовые значения Эдик Кузьменко Общие вопросы Delphi 9 21.12.2014 12:50
Ввод - сделать так, чтобы в Edit можно было вводить только цифры, или на оборот, только буквы BastAngel Общие вопросы Delphi 7 27.04.2012 01:15
Как сделать, чтобы форму можно было перемещать только внутри главной формы SeregaKo Общие вопросы Delphi 7 26.03.2009 12:48
Как сделать так, чтобы форму можно было тостать не только за заголовок? Никки Общие вопросы Delphi 1 04.09.2008 14:34