Форум: "Основная";
Текущий архив: 2004.10.31;
Скачать: [xml.tar.bz2];
ВнизКак убрать курсор в 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;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.037 c