Компилируем, запускаем программу, изменяем размер перетаскиванием за границу — кнопка мелькает.
Пример 2: Создаем в Visual Studio проект оконного приложения на любом из языков C#, VB.NET, C++/CLI. Кидаем на форму любые элементы управления. Компилируем, запускаем, ресайзим форму — мелькания нет!
Как добиться такого эффекта, чтобы элементы управления на форме не мелькали?
Пробовал выставлять для формы стиль WS_CLIPCHILDREN, мелькать стало гораздно меньше, но факт мелькания остался. Видимо в .NET сделано как-то по другому. И еще появились такие косяки: на GroupBox'ах и Static'ах остаются следы при перетаскивании над ними границ окна и других компонентов.
Re: Как сделать, чтобы форма не мелькала при ресайзе?
Здравствуйте, zergtmn, Вы писали:
Z>Как сделать, чтобы элементы управления на форме не мелькали при ресайзинге?
Можно указать WS_EX_COMPOSITED, но это работает только начиная с winxp. Видимо есть и другой способ.
простите, я убил небо
Re: Как сделать, чтобы форма не мелькала при ресайзе?
Здравствуйте, zergtmn, Вы писали:
Z>Как сделать, чтобы элементы управления на форме не мелькали при ресайзинге?
Z>Пример 1: Создаем в Visual Studio проект Win32 Project\Windows Application, в коде прописываем создание кнопки, например так: Z>HWND hBtn = CreateWindow("BUTTON", _T("Button1"), WS_CHILD | WS_VISIBLE, 50, 50, 80, 24, hWnd, (HMENU)133, hInst, NULL); Z>Компилируем, запускаем программу, изменяем размер перетаскиванием за границу — кнопка мелькает.
Убрать у оконнного класса родителя стили CS_HREDRAW и CS_VREDRAW.