Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
Разработка программного обеспечения
KANSoftWare

Как запретить показ курсора в TEdit и ему подобных контролах

Delphi , ОС и Железо , Мышка и Курсор

Как запретить показ курсора в TEdit и ему подобных контролах


Коврик для мышки выполнил недопустимую операцию и будет свернут.

Создайте своего потомка с обработчиками:


procedure WMPaint(var Msg: TMessage); message WM_Paint;
procedure WMSetFocus(var Msg: TMessage); message WM_SetFocus;
procedure WMNCHitTest(var Msg: TMessage); message WM_NCHitTest;

в которых вызывайте:


inherited;
HideCaret(Handle);

Программирование на Delphi: скрытие курсора в текстовом поле

Чтобы предотвратить отображение курсора в контроле TEdit и аналогичных контролах, можно использовать функцию HideCaret. Эта функция скрывает курсор (курсор) в окне.

Вот как это сделать:

  1. Создайте новый класс, наследуясь от TEdit, например:
type
  TNoCursorEdit = class(TEdit)
  private
    procedure WMPaint(var Msg: TMessage); message WM_Paint;
    procedure WMSetFocus(var Msg: TMessage); message WM_SetFocus;
    procedure WMNCHitTest(var Msg: TMessage); message WM_NCHitTest;
  end;

var
  MyEdit: TNoCursorEdit;
  1. Реализуйте процедуры WMPaint, WMSetFocus и WMNCHitTest:
procedure TNoCursorEdit.WMPaint(var Msg: TMessage);
begin
  inherited;
  HideCaret(Handle);
end;

procedure TNoCursorEdit.WMSetFocus(var Msg: TMessage);
begin
  inherited;
  HideCaret(Handle);
end;

procedure TNoCursorEdit.WMNCHitTest(var Msg: TMessage);
begin
  Result := HTCLIENT; // Возвращаем результат теста по клиентской области
  HideCaret(Handle);
end;

В этих процедурах вызовите функцию HideCaret, чтобы скрыть курсор.

  1. Создайте экземпляр вашего нового класса и используйте его в форме:
MyEdit := TNoCursorEdit.Create(Self);
MyEdit.Parent := Self;
MyEdit.Align := alClient;

Таким образом, можно предотвратить отображение курсора в контроле TEdit или аналогичных контролах. Обратите внимание, что это скроет курсор только для этого конкретного контрола и не для других окон.

Кроме того, помните, что скрытие курсора может повлиять на удобство использования вашей приложения. В целом рекомендуется отображать курсор в редактируемых контролах, так как он предоставляет визуальный сигнал пользователю о том, что они сейчас редактируют текстовое поле.

Запретить показ курсора в TEdit и его аналогичных контролах можно с помощью обработчиков сообщений WM_Paint, WM_SetFocus и WM_NCHitTest, которые вызывают процедуру HideCaret для скрывания курсора.


Комментарии и вопросы


Ваше мнение или вопрос к статье в виде простого текста (Tag <a href=... Disabled). Все комментарии модерируются, модератор оставляет за собой право удалить непонравившейся ему комментарий.

заголовок

e-mail

Ваше имя

Сообщение

Введите код




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.



:: Главная :: Мышка и Курсор ::


реклама



©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru Rambler's Top100

Время компиляции файла: 2024-05-19 17:53:24
2024-05-20 02:25:33/0.0070180892944336/2