新手求解!delphi 设计中把Memo点击后出现的一闪一闪的一条竖线不要掉,该怎么解决
新手求解!delphi 设计中把Memo点击后出现的一闪一闪的一条竖线不要掉
cursor只是可以改变鼠标样子,但是点击还是会有那个一闪一闪的,怎么做才可以不要那条闪闪的竖线?
------解决方案--------------------
------解决方案--------------------
滚动条只有需要出现时才自动出现,例如memo里有很多行,这些行高度加起来超过了memo的高度,那么就自动显示垂直滚动条,同理如果一行的宽度超过了memo的宽度,那么就自动显示水平滚动条。
当然这个前提是你需要把memo的srollbar属性设为ssBoth,即水平和垂直滚动条都显示(当满足上面的条件),
memo的srollbar属性的默认值是ssNone,即不水平垂直都不显示
要在输入时显示滚动条就在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;