Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > Memo


Автор: Sunvas 21.9.2006, 16:58
Как убрать курсор клавиатуры и запретить выделение текста в Tmemo?

Автор: Snowy 21.9.2006, 17:03
enabled := false

Автор: Sunvas 21.9.2006, 17:16
Цитата(Snowy @  21.9.2006,  17:03 Найти цитируемый пост)
enabled := false

Тогда и текст просматривать низзя, если его много - полосы прокрутки не работают. Да и сам текст серый.

Автор: Alexeis 21.9.2006, 17:29
Ловить  WM_SETFOCUS и после этого сразу передовать фокус форме.

Автор: Sunvas 21.9.2006, 17:34
Цитата(alexeis1 @  21.9.2006,  17:29 Найти цитируемый пост)
Ловить  WM_SETFOCUS и после этого сразу передовать фокус форме.

Тогда перемещения по тексту с клавиатуры невозможно. Без курсора конечно.

Автор: Yanis 21.9.2006, 17:35
В своей программе я бы так никогда не сделал smile

Код
procedure TForm1.Memo1MouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
begin
  HideCaret(Memo1.Handle);
  Memo1.SelLength := 0;
end;

procedure TForm1.Memo1MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  HideCaret(Memo1.Handle);
  Memo1.SelLength := 0;
end;

procedure TForm1.Memo1MouseUp(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  HideCaret(Memo1.Handle);
  Memo1.SelLength := 0;
end;

procedure TForm1.Memo1KeyPress(Sender: TObject; var Key: Char);
begin
  HideCaret(Memo1.Handle);
  Memo1.SelLength := 0;
end;

procedure TForm1.Memo1KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  HideCaret(Memo1.Handle);
  Memo1.SelLength := 0;
end;

procedure TForm1.Memo1KeyUp(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  HideCaret(Memo1.Handle);
  Memo1.SelLength := 0;
end;

procedure TForm1.Memo1Change(Sender: TObject);
begin
  HideCaret(Memo1.Handle);
  Memo1.SelLength := 0;
end;

procedure TForm1.Memo1Click(Sender: TObject);
begin
  HideCaret(Memo1.Handle);
  Memo1.SelLength := 0;
end;


Добавлено @ 17:36 
Цитата(Sunvas @  21.9.2006,  18:34 Найти цитируемый пост)
Тогда перемещения по тексту с клавиатуры невозможно.

А как ты хочешь перемещаться по тексту без курсора?

Автор: Sunvas 21.9.2006, 17:39
Цитата(Yanis @  21.9.2006,  17:35 Найти цитируемый пост)
А как ты хочешь перемещаться по тексту без курсора?

Также как и в HTML документе - вверх вниз кнопками и текст двигается вверх и вниз.

Автор: Alexeis 21.9.2006, 17:46
Цитата(Sunvas @  21.9.2006,  17:39 Найти цитируемый пост)
Также как и в HTML документе - вверх вниз кнопками и текст двигается вверх и вниз.

Ничего сложного в обработчике OnKeyPress и отправляешь сообщения WM_VSCROLL для мемо.

Автор: Romikgy 21.9.2006, 19:14
или просто в мемо делаешь DestroyCursor
и в OnMouseMove постоянно слать SelStart раное позиции под мышкой (при нажатой кнопке мыши конечно )

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)