问题表现如下:当SynEdit1.lines不为空时,执行SynEdit1.clear,总要触发桌面的刷新,使用lines.beginupdate /endupdate也没有用?何故? 程序如下: 一个窗体(form)上放置一个TSynedit编辑框SynMemo1、一个RichEdit编辑框Richedit1,两个按钮Btn1,bBtn2。
按钮1OnClik代码如下:
SynMemo1.Lines.Add('Test is test for Desktop flash');
SynMemo1.Clear;
按钮2OnClik代码如下:
RichEdit1.Lines.Add('Test is test for Desktop flash');
RichEdit1.Clear ;
按钮2不会引起任何反应,按钮1总要触发桌面图标刷新? {//================
Debug之,好像时执行到以下语句时触发:
LockWindowUpdate(0); //姚乔峰同志修改 使用windows锁定函数
//===================================}{ 查阅LockWindowUpdate结果如下:
说明
锁定指定窗口,禁止它更新。同时只能有一个窗口处于锁定状态
返回值
Long,非零表示成功,零表示失败(比如另外已有一个窗口锁定)
参数表
参数 类型及说明
hwndLock Long,欲锁定窗口的句柄。如设为零,则对窗口解锁
注解
windows会跟踪锁定窗口的区域,并会在窗口解锁后重画它们。可用GetDCEx获得一个特殊的设备场景,令其与锁定窗口协同工作,从而描绘一个加锁的窗口。这种技术的一个应用场合是创建跟踪矩形(比如用于改变窗口大小的矩形)。
}
按钮1OnClik代码如下:
SynMemo1.Lines.Add('Test is test for Desktop flash');
SynMemo1.Clear;
按钮2OnClik代码如下:
RichEdit1.Lines.Add('Test is test for Desktop flash');
RichEdit1.Clear ;
按钮2不会引起任何反应,按钮1总要触发桌面图标刷新? {//================
Debug之,好像时执行到以下语句时触发:
LockWindowUpdate(0); //姚乔峰同志修改 使用windows锁定函数
//===================================}{ 查阅LockWindowUpdate结果如下:
说明
锁定指定窗口,禁止它更新。同时只能有一个窗口处于锁定状态
返回值
Long,非零表示成功,零表示失败(比如另外已有一个窗口锁定)
参数表
参数 类型及说明
hwndLock Long,欲锁定窗口的句柄。如设为零,则对窗口解锁
注解
windows会跟踪锁定窗口的区域,并会在窗口解锁后重画它们。可用GetDCEx获得一个特殊的设备场景,令其与锁定窗口协同工作,从而描绘一个加锁的窗口。这种技术的一个应用场合是创建跟踪矩形(比如用于改变窗口大小的矩形)。
}
来CSDN混的真的都是象俺这样的水货吗?
您说得方法很好,不过用synedit.lines.loadfromstream也会如此啊,俺主要是想搞解决这个问题,而不是规避这个问题。 8838343是什么意思?QQ群吗?俺自打2000年以来就没用过QQ了,平时见面的人都招呼不过来,别说网友了,通过CSDN、大富翁照样可以和同好交流嘛^_^。