Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.10.31;
Скачать: CL | DM;

Вниз

Как убрать курсор в TMemo   Найти похожие ветки 

 
saNat ©   (2004-10-14 02:12) [0]

Доброго времени суток...
Свойство ReadOnly выключает только редактирование. Подскажите, пожалуйста, как убрать курсор из TMemo.

С уважением...


 
GanibalLector ©   (2004-10-14 02:24) [1]

Самый простой способ это :

procedure TForm1.Memo1Enter(Sender: TObject);
begin
Имя компонента(визуального...например Panel) .Setfocus;
end;


 
1008 ©   (2004-10-14 10:41) [2]

Вот компонент, фактически TMemo, но при включении ReadOnly убирает курсор:

unit WCMemo;

interface

uses
Windows,
Messages,
SysUtils,
Classes,
Controls,
StdCtrls;

type
 TWCMemo = class(TMemo)
 private
   { Private declarations }
   FReadOnly:boolean;
   procedure SetRead(const value:boolean);

   procedure WMPaint(var Msg: TMessage); message WM_Paint;
   procedure WMSetFocus(var Msg: TMessage); message WM_SetFocus;
   procedure WMNCHitTest(var Msg: TMessage); message WM_NCHitTest;
   procedure WMKEYDOWN(VAR Message: TMessage); message WM_KEYDOWN;
   procedure CreateParams(var Params: TCreateParams); override;
   protected
   { Protected declarations }
 public
   { Public declarations }
 published
   { Published declarations }
   property ReadOnly:boolean read FReadOnly write SetRead;
 end;

procedure Register;

implementation

procedure Register;
begin
 RegisterComponents("Samples", [TWCMemo]);
end;

{ TWCMemo }

procedure TWCMemo.CreateParams(var Params: TCreateParams);
begin
inherited;
Params.WindowClass.hCursor := LoadCursor(0, IDC_ARROW);
end;

procedure TWCMemo.WMKEYDOWN(var Message: TMessage);
var
Key:Integer;
begin
Key:= Message.WParamLo;

case Key of
 vk_Up:
 begin
  Perform(EM_SCROLL, SB_LINEUP, 0);
  Key:= 0;
 end;
 vk_Down:
 begin
  Perform(EM_SCROLL, SB_LINEDOWN, 0);
  Key:= 0;
 end;
end;
inherited;
if ReadOnly then HideCaret(Handle) else ShowCaret(Handle);
end;

procedure TWCMemo.WMNCHitTest(var Msg: TMessage);
begin
inherited;
if ReadOnly then HideCaret(Handle) else ShowCaret(Handle);
end;

procedure TWCMemo.WMPaint(var Msg: TMessage);
begin
inherited;
if ReadOnly then HideCaret(Handle) else ShowCaret(Handle);
end;

procedure TWCMemo.WMSetFocus(var Msg: TMessage);
begin
inherited;
if ReadOnly then HideCaret(Handle) else ShowCaret(Handle);
end;

procedure TWCMemo.SetRead(const value:boolean);
begin
TMemo(self).ReadOnly:=value;
FReadOnly:=value;
end;

end.



Страницы: 1 вся ветка

Текущий архив: 2004.10.31;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.172 c
3-1096599868
AZ
2004-10-01 07:04
2004.10.31
Неоправданное распухание файла .DB


14-1097149732
}|{yk
2004-10-07 15:48
2004.10.31
Пиккардийская терция - супер!


1-1098171059
Сергей__С
2004-10-19 11:30
2004.10.31
TreeView


1-1097749139
UserUserov
2004-10-14 14:18
2004.10.31
DOS команды


10-1055742436
kors
2003-06-16 09:47
2004.10.31
COM