Редактировать окно мерцание

Я пытаюсь создать окно редактирования внутри моего приложения Win-32, но у меня возникли некоторые проблемы. Он будет отображаться только в тех случаях, когда моя мышь движется, щелкает и перетаскивает одновременно, и он будет мерцать в видимости

Я создаю свое начальное окно следующим образом:

m_hWnd = CreateWindow(m_wWindowName.c_str(), m_wWindowName.c_str(),
WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, CW_USEDEFAULT, width, height, 0, 0, m_hInstance, this);

А затем я пытаюсь создать новое поле редактирования внутри существующего окна:

CreateWindowEx(WS_EX_CLIENTEDGE,
TEXT("Edit"), TEXT(""),
WS_CHILD | WS_VISIBLE,
10, 80,
200, 20,
m_hWnd, (HMENU)1, NULL, NULL);

РЕДАКТИРОВАТЬ:
Я создаю свое начальное окно в своем собственном классе, выполняя следующие действия

int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE prevInstance,
PSTR cmdLine, int showCmd)
{
CApplication Application;
Application.Initialise(hInstance, MainWndProc, L"GUI Tool");

return Application.Run();
}

Функция инициализации создает окно, а затем сразу после (все еще в функции инициализации) я пытаюсь создать поле редактирования.

Может ли кто-нибудь оказать некоторую помощь относительно того, почему это происходит?

Спасибо

2

Решение

Похоже, вы рисуете поверх элемента управления в вашем WM_PAINT обработчик (или это делается DefWindowProc).

Самое простое решение — установить WS_CLIPCHILDREN стиль родительского окна, которое будет автоматически вырезать любые дочерние окна при рисовании.

3

Другие решения


По вопросам рекламы ammmcru@yandex.ru
Adblock
detector