Значок заголовка также можно удалить независимо с кнопок min / max / exit с помощью расширенных стилей (проверено только в диалогах, не знаю, как оно ведет себя в окнах).
Вставьте следующий код в метод OnInitDialog()
вашего диалога, и он должен работать:
// Disable default titlebar icon
int extendedStyle = GetWindowLong(m_hWnd, GWL_EXSTYLE);
SetWindowLong(m_hWnd, GWL_EXSTYLE, extendedStyle | WS_EX_DLGMODALFRAME);
// Update non-client area of the dialog, for the changes to take effect
SetWindowPos(NULL, 0, 0, 0, 0, SWP_FRAMECHANGED | SWP_NOMOVE | SWP_NOSIZE | SWP_NOZORDER);
Я также безуспешно попробовал метод SetIcon()
и многие другие предложенные решения / хаки, и кроме верхнего (то есть расширенного стиля) ни один не работал.
EDIT:
Я только что наткнулся на гораздо более простой эквивалент верхнего кода:
Просто добавьте DS_MODALFRAME
к стилям диалогового окна вместе с WS_CAPTION
и WS_SYSMENU
.
https://msdn.microsoft.com/en-us/library/windows/desktop/ff729172%28v=vs.85%29.aspx?f=255&MSPPError=-2147217396