Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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.038 c
1-1097654233
П7
2004-10-13 11:57
2004.10.31
Динамические кнопки и их события


14-1097476845
Igorek
2004-10-11 10:40
2004.10.31
Собрался купить CD-RW NEC NR-7800B (б/у 4 мес)


4-1096040015
appendix
2004-09-24 19:33
2004.10.31
поток в Win98 и winXP


1-1097932201
TUX
2004-10-16 17:10
2004.10.31
Свой Tool Bar??????????


1-1097657715
denis24
2004-10-13 12:55
2004.10.31
вертикальный tabsheet





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский