WinForms: Invalidate non client area of a control
От: маген Россия https://ru.linkedin.com/pub/alexey-smorkalov/4/283/8b8
Дата: 17.12.09 15:18
Оценка:
Привет,

Не могу сообразить.
Делаю контрол, наследник Label.

Каким образом пометить "грязной" неклиентскую область контрола, чтоб потом
WM_NCPAINT поймать?

Для клиентской — Invalidate, Refresh и т.д, а для неклиентской?
Border хочу перерисовать.

Спасибо.
Re: WinForms: Invalidate non client area of a control
От: RushDevion Россия  
Дата: 17.12.09 15:32
Оценка: 3 (1)
Вот так например:
SetWindowPos( Handle, IntPtr.Zero, 0, 0, 0, 0,
  (SWP_NOSIZE | SWP_NOMOVE | SWP_NOZORDER | SWP_NOACTIVATE | SWP_NOOWNERZORDER | SWP_FRAMECHANGED );


P.S.
Код из рабочего проекта.
В Вашем случае, возможно получится обойтись SWP_DRAWFRAME — см. MSDN
Re[2]: WinForms: Invalidate non client area of a control
От: маген Россия https://ru.linkedin.com/pub/alexey-smorkalov/4/283/8b8
Дата: 17.12.09 15:53
Оценка:
RD>В Вашем случае, возможно получится обойтись SWP_DRAWFRAME — см. MSDN

Спасибо, работает
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.