Переопределил рисование неклиентской области окна.
Пытаюсь вручную создать кнопку закрытия, примерно так:
LRESULT MyCustomPanel::OnNcCreate(WPARAM wParam, LPARAM lParam)
{
Default();
CRect wndBounds(0,0,0,0);
GetWindowRect(&wndBounds);
CRect btnBounds(wndBounds.right-15,wndBounds.top+5,wndBounds.right-5,wndBounds.top+15);
m_ncClose = new CPngTextButton();
m_ncClose->Create(_T(""), WS_CHILD|WS_VISIBLE, btnBounds, this, ID_BTNCLOSE);
}
Кнопка создается, но она не видна (стиль WS_VISIBLE выставляется, проверял с помощью Spy++)
Подскажите, где грабли?
создание кнопок в неклиентской области
Модераторы: Duncon, Hawk, Romeo, Eugie
...Что за класс CPngTextButton?
CPngTextButton - Класс, где переопределено рисование кнопки.
Короче, сделал вывод что это нереально. Проще сымитировать наличие этих кнопок (рисовать их на заголовке и обрабатывать действия мыши)
Короче, сделал вывод что это нереально. Проще сымитировать наличие этих кнопок (рисовать их на заголовке и обрабатывать действия мыши)
...В неклиентской области нельзя ставить оконные классы. Прокрутки в окнах, например, это не окна а "рисунки" - то же касается и кнопок на заголовке окна.
Глянь мою ссылку: http://www.vbstreets.ru/VB/Sources/66474.aspx - там все кратко и доступно и касательно кнопок в заголовке и вообще оформления неклиентской области...
Глянь мою ссылку: http://www.vbstreets.ru/VB/Sources/66474.aspx - там все кратко и доступно и касательно кнопок в заголовке и вообще оформления неклиентской области...