scrDC := Control.Canvas.Handle;
OffsetViewportOrgEx(scrDC, -Control.Left, -Control.Top, org);
SendMessage(FParent.Handle, WM_PRINTCLIENT, scrDC, PRF_CLIENT or PRF_ERASEBKGND);
SetViewportOrgEx(scrDC, org.x, org.y, nil);
А вот так получается с применением регионов, и фликерит меньше, но есть небольшой хвост при перемещении полузнка:
Проще, наверное, альфа наложение на контекст сделать, по крайней мере, быстродействие будет выше, но это если делать полную прозрачность.
Редактировалось 3 раз(а), последний 2022-01-26 03:18:12