另外,如何使memo控件有新内容后自动滚动?
解决方案 »
- 有关QUERY的纪录数的一段代码,我把recordCount赋给edit.text,怎么显示是-1。请高手指点。
- FastReport不能重编译
- 怎么样捕捉鼠标滚轮滚动的消息??
- 兄弟们:帮忙顶啊!!为什么我创建线程并使用完成后,系统关闭会报错??
- 大家好,请教1下,如何安装.pas为后缀的组件,最近我得到一些组件,是以.pas为后缀的,请问如何安装呀
- 如何自制有一TStrings类型属性值的VCL控件
- 在报表中,QRRichText和QRMemo控件可显示的内容有大小限制吗
- 有谁做过智能排课系统,或提供资料,给分
- 谁能给一个可以参考的使用TreeView的例子,十分急(在线等待)最好是能从数据源中生成
- sqserver4和一iso文件能刻到一张650M光盘上吗?
- 有谁告诉我TComponent.GetIDsOfNames怎么用啊
- 一直的疑惑:同一功能的实现往往要在多个事件中实现,这样可读性和可维护性极差。如何才能将这些各事件中的代码整和在一起
在memo的wordwrap属性就已经有自动滚动的功能
--------------------------------------------------------------------------------
procedure TForm1.Edit1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if Key = VK_F8 then
SendMessage(Memo1.Handle, { HWND of the Memo Control }
WM_VSCROLL, { Windows Message }
SB_PAGEDOWN, { Scroll Command }
0) { Not Used }
else if Key = VK_F7 then
SendMessage(Memo1.Handle, { HWND of the Memo Control }
WM_VSCROLL, { Windows Message }
SB_PAGEUP, { Scroll Command }
0); { Not Used }
end;
/****超级猛料****/
新内容自动向后滚动,用SendMessage(Memo1.Handle,EM_SCROLL,SB_LINEDOWN,0);
奇怪,行数增加到一定数目就不再自动滚动了。
另外:RichEdit能自动滚动吗?
可怎么让不同行显示不同颜色?
begin
n := 2; // 第二行
p := 0;
for i := 1 to n-1 do
if i > RichEdit1.Lines.Count then
Exit
else
p := p + Length(RichEdit1.Lines[i-1])+2;
RichEdit1.SelStart := p;
RichEdit1.SelLength := Length(RichEdit1.Lines[n-1]);
RichEdit1.SelAttributes.Color := clRed; // 改为红色
end;