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

XiaYY_YYXia 2013-11-17 03:06:58
cursor只是可以改变鼠标样子,但是点击还是会有那个一闪一闪的,怎么做才可以不要那条闪闪的竖线?
...全文
272 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
hhhfff2010 2013-11-17
  • 打赏
  • 举报
回复
XiaYY_YYXia 2013-11-17
  • 打赏
  • 举报
回复
第一个代码不是很理解呀……
sololie 2013-11-17
  • 打赏
  • 举报
回复
滚动条只有需要出现时才自动出现,例如memo里有很多行,这些行高度加起来超过了memo的高度,那么就自动显示垂直滚动条,同理如果一行的宽度超过了memo的宽度,那么就自动显示水平滚动条。 当然这个前提是你需要把memo的srollbar属性设为ssBoth,即水平和垂直滚动条都显示(当满足上面的条件), memo的srollbar属性的默认值是ssNone,即不水平垂直都不显示 要在输入时显示滚动条就在memo按键事件设置

procedure TForm1.mmo1KeyPress(Sender: TObject; var Key: Char);
begin
  mmo1.ScrollBars:= ssBoth;
end;
sololie 2013-11-17
  • 打赏
  • 举报
回复

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;
XiaYY_YYXia 2013-11-17
  • 打赏
  • 举报
回复
我还想问问,memo要是输下去之后会自动出现滚动条么?如果不会,设置一下会出现么??

16,747

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 语言基础/算法/系统设计
社区管理员
  • 语言基础/算法/系统设计社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧