Я создал пользовательский элемент управления прогрессом, полученный из CProgressCtrl, для отображения прогресса с помощью растрового изображения путем перезаписи функции OnPaint (CProgressCtrl :: OnPaint не вызывается). При просмотре в приложении есть рамка вокруг индикатора выполнения. WS_BORDER не установлен ни для элемента управления прогрессом, ни для какого-либо другого элемента управления, который я могу найти в приложении. Вызов ModifyStyle (WS_BORDER, 0) для элемента управления ходом для удаления границы возвращает 0 и не меняет внешний вид, в то время как ModifyStyle (0, WS_BORDER) добавляет вторую рамку вокруг индикатора выполнения.
WS_BORDER определенно не настроен для этого элемента управления, но вокруг элемента управления явно есть граница Windows. Возможно ли, что элемент управления полностью заключен в другой элемент управления как дочернее окно, и если да, то как мне найти этот элемент управления и отключить WS_BORDER? Или граница рисуется автоматически, потому что элемент управления является производным классом CProgressCtrl, хотя OnPaint переопределяется?