比如在memo中lines如下:a
b
...
z (共26行,但memo只能显示4行)
现假设按下一按钮后,让memo中出现的是:
f
g
h
i (即滚动到以f开头,lines中顺序不变)
请问如何实现?
谢谢!
b
...
z (共26行,但memo只能显示4行)
现假设按下一按钮后,让memo中出现的是:
f
g
h
i (即滚动到以f开头,lines中顺序不变)
请问如何实现?
谢谢!
解决方案 »
- delphi如何调用matlab神经网络函数newff
- 如何在delphi中添加自定义控件!!
- 急求高手QReport预览时如何默认为Zoom100.我弄了一个晚上了帮看看下面的代码吧! 解决后再加100分!!!
- 用bde的数据库应用程序,如何防止运行时跳出登录对话框?
- tadoquery 帮看一下
- 哪儿还能下ehlib3.0?51delphi好像关掉了
- FastReport问题,很急!!
- 百分请教!急救!delphi6中QReport组件中的QRPreview如何使用!!!
- 看看这段程序
- 怎样克隆一个对象?
- 关于使用ITransactionContextEx接口在客户端控制事务的问题。
- Groupbox中的标题能否显示在中间?
procedure TForm1.Button1Click(Sender: TObject);
begin
// 先让光标移到最后,这样可以保证f在顶行
Memo1.SelStart := Length(Memo1.Text);
Memo1.SelLength := 0;
// 光标移到f
Memo1.SelStart := Pos('f', Memo1.Text);
Memo1.SelLength := 0;
end;
如果我是想让第一页里的b或c出现在顶部就不行了,还有什么解决办法?
谢谢!
var
myStrings:TStrings;
iLoop:Integer;
begin
myStrings := TStringList.Create;
for iLoop := 0 to 2 do
begin
myStrings.Add(Memo1.Lines.Strings[iLoop]);
Memo1.Lines.Delete(iLoop);
end;
for iLoop := 0 to myStrings.Count-1 do
begin
Memo1.Lines.Add(myStrings.Strings[iLoop]);
end;
end;
使指定行出现在最顶,然后在把保存的数据再添回去,是吧。
还没有没更好的方法?比如listbox中就可以通过sendmessage发送lb_settoindex来达到目的。我想memo中应该也有的。
如果不是针对字符,而是对行数,比如让memo中的第5行或第2行置顶怎么办?
www.ahjoe.net