Это часть большого приложения MFC, которое использует архитектуру MDI. Он написан с использованием Microsoft Visual Studio 2019.
Я хочу создать окно для отображения первых нескольких строк текстового файла, чтобы пользователь мог принять решение о его анализе. Новое окно не вписывается в общую архитектуру Document / View, поэтому я сделал окно рабочего стола его родителем. Окно создано ОК, успешно располагается в верхнем левом углу экрана и отображает первые несколько строк текстового файла. Однако, когда я перетаскиваю его в новое место, его контур не перетаскивается во время перетаскивания, хотя он оказывается в заданном месте, поэтому визуальный отклик для пользователя отсутствует.
Вот код, который создает окно:
CWnd *parent = GetDesktopWindow();
int w = GetSystemMetrics(SM_CXFULLSCREEN) / 3;
int h = GetSystemMetrics(SM_CYFULLSCREEN) / 4;
CString title;
title.Format("Previewing first %d lines of file", m_nPreviewLines);
// fpw is of locally defined type CFilePreviewWnd, which is derived directly from CWnd.
fpw->Create(
AfxRegisterWndClass(CS_NOCLOSE, 0, (HBRUSH) ::GetStockObject(WHITE_BRUSH) ),
title,
WS_VISIBLE | WS_HSCROLL | WS_VSCROLL | WS_OVERLAPPEDWINDOW,
CRect(0, 0, w, h),
parent,
ID_FILE_PREVIEW_WND);
Я безуспешно играл с различными комбинациями стилей WS_ и CS_. Мне кажется, что не-клиентские части окна не обновляются во время операции перетаскивания.
Я предполагаю, что здесь отсутствует что-то базовое. Любые разъяснения будут оценены.