2011/5/22 Max Vlasov <[email protected]>

>
>
> 2011/5/22 Zaher Dirkey <[email protected]>
>
>>
>> 2011/5/22 Max Vlasov <[email protected]>
>>
>>> Hi,
>>> I encountered a problem I don't know how to solve.
>>>
>>> In Delphi I used the following trick. In the WM_Paint before inheried
>>> call I got update region with successive calls to GetUpdateRect (to
>>> determine if it exists) and GetUpdateRgn afterwards. This allowed to get the
>>> correct region before BeginPaint is called (it validates the region so
>>> getting it after BeginPaint makes no sense).
>>>
>>> But in Lazarus WM_Paint handler already contains DC and also
>>> GetUpdateRect call is failed. As I understand, this is because the
>>> WindowProc from win32callback.inc already did BeginPaint and provided the dc
>>> for the following call to the control WM_Paint.
>>>
>>>
>>> Max Vlasov
>>>
>>>
>> Check Canvas.ClipRect
>>
>>
>>
>
> Zaher, thanks,
> but this is irrelevant, clipping rects and regions is just  the way to
> define canvas/device context limiting area until explicitly canceled. It was
> used by Delphi and (probably) Lazarus to implement TGraphicControl,
> component working almost as TWinControl but without window handles.
>
> The update region is the region formed by multiply InvalidateRect and
> InvalidateRgn calls and it exists until BeginPaint is called as a result of
> Wm_paint message. Invalidation is more correct way to redraw anything on the
> window (vs direct drawing when necessary)
>
> Max
>
>
Not understand u, can u give us an example
Thanks
-- 
Zaher Dirkey
--
_______________________________________________
Lazarus mailing list
[email protected]
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus

Reply via email to