新手求解!delphi 设计中把Memo点击后出现的一闪一闪的一条竖线不要掉,该怎么解决

新手求解!delphi 设计中把Memo点击后出现的一闪一闪的一条竖线不要掉
cursor只是可以改变鼠标样子,但是点击还是会有那个一闪一闪的,怎么做才可以不要那条闪闪的竖线?
------解决方案--------------------

type
  TForm1 = class(TForm)
    mmo1: TMemo;
    procedure mmo1Enter(Sender: TObject);
  public
    { Public declarations }
    procedure WndProc(var m:TMessage);override;  // orverrid 窗口过程
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

// memo 的 OnEnter 事件
procedure TForm1.mmo1Enter(Sender: TObject);
begin
   PostMessage(Handle, WM_APP, 0, mmo1.Handle);
end;

procedure TForm1.WndProc(var m: TMessage);
begin
  inherited;
  if m.Msg = WM_APP then
    HideCaret(Cardinal(m.lParam));
end;

------解决方案--------------------
滚动条只有需要出现时才自动出现,例如memo里有很多行,这些行高度加起来超过了memo的高度,那么就自动显示垂直滚动条,同理如果一行的宽度超过了memo的宽度,那么就自动显示水平滚动条。

当然这个前提是你需要把memo的srollbar属性设为ssBoth,即水平和垂直滚动条都显示(当满足上面的条件),
memo的srollbar属性的默认值是ssNone,即不水平垂直都不显示

要在输入时显示滚动条就在memo按键事件设置

procedure TForm1.mmo1KeyPress(Sender: TObject; var Key: Char);
begin
  mmo1.ScrollBars:= ssBoth;
end;