1) чтобы убрать "лишние бипы" надо:
2) наблюдения за последовательностью происходящего с помощью LogFileOutput показывают:
#pas
.....
if Self_DblBufTopParent.fDblBufPainting then Exit;
DoDrawDblBuffered( Self_ );
if not IsWindowVisible( Self_.fHandle ) then exit;
Rslt := 0;
Result := True;
end;
И начинается: отрисовали один раз, второй - ровно то же самое, третий - ровно то же самое....
что к чему....
------------ Дoбавленo:
Про WM_SETTEXT...
В этой схеме, без обработчика (как ты предлагаешь) - флики ЕСТЬ
Add(Timer,13184380,112,35)
{
Interval=10
link(onTimer,15760076:doData,[])
}
Add(Label,4699369,315,35)
{
Left=35
Top=70
Width=200
Height=30
Color=12632256
Font=[Arial Black,18,1,255,204]
Caption="TEST1"
AutoSize=1
Alignment=2
Point(onMouseDown)
Point(Handle)
}
Add(DoData,15760076,168,35)
{
Data=String(TEST-TEST)
link(onEventData,10987532:doEvent1,[])
}
Add(Label,7314866,315,91)
{
Left=35
Top=30
Width=200
Height=30
Color=12632256
Font=[Arial Black,18,1,255,204]
Transparent=0
Caption="TEST"
AutoSize=1
Alignment=2
Point(onMouseDown)
Point(Handle)
}
Add(Hub,10987532,231,35)
{
link(onEvent1,4699369:doText,[])
link(onEvent2,7314866:doText,[(289,48)(289,97)])
}