Как сделать, чтобы форма не мелькала при ресайзе?
От: zergtmn  
Дата: 03.12.07 18:29
Оценка:
Как сделать, чтобы элементы управления на форме не мелькали при ресайзинге?

Пример 1: Создаем в Visual Studio проект Win32 Project\Windows Application, в коде прописываем создание кнопки, например так:

HWND hBtn = CreateWindow("BUTTON", _T("Button1"), WS_CHILD | WS_VISIBLE, 50, 50, 80, 24, hWnd, (HMENU)133, hInst, NULL);

Компилируем, запускаем программу, изменяем размер перетаскиванием за границу — кнопка мелькает.

Пример 2: Создаем в Visual Studio проект оконного приложения на любом из языков C#, VB.NET, C++/CLI. Кидаем на форму любые элементы управления. Компилируем, запускаем, ресайзим форму — мелькания нет!

Как добиться такого эффекта, чтобы элементы управления на форме не мелькали?

Пробовал выставлять для формы стиль WS_CLIPCHILDREN, мелькать стало гораздно меньше, но факт мелькания остался. Видимо в .NET сделано как-то по другому. И еще появились такие косяки: на GroupBox'ах и Static'ах остаются следы при перетаскивании над ними границ окна и других компонентов.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.