Главная страница
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.027 c
1-1097747903
AllOfDelphi
2004-10-14 13:58
2004.10.31
Биты байты


14-1097345866
olookin
2004-10-09 22:17
2004.10.31
4-0


10-1048052661
anatol
2003-03-19 08:44
2004.10.31
Виснет сервер приложений


3-1096441296
Maxim_____
2004-09-29 11:01
2004.10.31
string conversion error


1-1097868727
Wint_
2004-10-15 23:32
2004.10.31
Разрулите трабла с RichEdit