Вверх ↑
Ответов: 2239
Рейтинг: 676
#1: 2014-05-26 22:37:53 ЛС | профиль | цитата
flash1103 писал(а):
Setwindowrgn(hwnd,rgn,flag); виновна, либо её обёртка в кол-е(сама фунция winapi)
Да не виновата она. Вот замените строку в RGN_SetToWindow
SetWindowRgn(h, rgn, _prop_ReDraw);
на вот эту:
if SetWindowRgn(h, rgn, _prop_ReDraw) then _debug ('ok') else _debug('error');
И увидите что в тестовых схемах (вашей и моей выложенных выше) будет ОК. Функция получает все необходимое (идентификатор окна, регион) и применяет регион к окну.
Сколько уже раз, здесь на форуме обсуждалась проблема с прорисовкой из-за Transparent=True у Label.
Выделив элемент и нажав F1 можно в самом низу прочитать:
Замечания писал(а):
Использование св-ва Transparent может привести к неверной работе в отрисовке остальных элементов формы. Поэтому рекомендуется не использовать данную возможность без особой необходимости

Так что повторю:
sla8a писал(а):
элементы RGN_ тут совершенно не при чем

карма: 11

0