INT_PTR CXTPTaskDialogFrame::DoModal() { ReleaseCapture(); if (m_lpDlgTemplate == NULL) { const int nDlgTemplateSize = sizeof(DLGTEMPLATE) + sizeof(DWORD) * 8; m_lpDlgTemplate = (DLGTEMPLATE*)malloc(nDlgTemplateSize); ZeroMemory(m_lpDlgTemplate, nDlgTemplateSize); } if (!m_lpDlgTemplate) return -1; m_lpDlgTemplate->style = GetFrameStyle(); m_lpDlgTemplate->dwExtendedStyle = m_pConfig->dwFlags & TDF_RTL_LAYOUT ? WS_EX_LAYOUTRTL : 0; if (m_lpDialogTemplate == 0) { InitModalIndirect(m_lpDlgTemplate); } return CDialog::DoModal(); }
void MpButton::LeaveFrame (void) // virtual, restore frame when left { bool draw_background = (state & in_pulldown) | (state & highlight); if (draw_background && (state & entered)) { SetBackground(saveBackground); // restore previous background color MpCanvas::RedrawPanel(); Draw(); // draw label and/or icon } MpCanvas::DrawFrame( (state & in_pulldown) ? Flat : GetFrameStyle() ); state &= ~(entered | pressed); }
void MpButton::EnterFrame (void) // virtual, half-pressed when entered { bool draw_background = (state & in_pulldown) | (state & highlight); if (draw_background && !(state & entered)) // save background color saveBackground = GetBackground(); state |= entered; if (draw_background) { SetBackground(&Mp.PageColor); // highlight MpCanvas::RedrawPanel(); Draw(); // draw label and/or icon } MpCanvas::DrawFrame( (state & in_pulldown) ? Sunken : (state & highlight) ? GetFrameStyle() : Solid|Framed ); }
BOOL CXTPTaskDialogFrame::Create(CWnd* pParentWnd) { if (m_lpDlgTemplate == NULL) { const int nDlgTemplateSize = sizeof(DLGTEMPLATE) + sizeof(DWORD) * 8; m_lpDlgTemplate = (DLGTEMPLATE*)malloc(nDlgTemplateSize); ZeroMemory(m_lpDlgTemplate, nDlgTemplateSize); } if (!m_lpDlgTemplate) return FALSE; m_lpDlgTemplate->style = GetFrameStyle() | WS_VISIBLE; m_lpDlgTemplate->dwExtendedStyle = m_pConfig->dwFlags & TDF_RTL_LAYOUT ? WS_EX_LAYOUTRTL : 0; return CreateIndirect(m_lpDlgTemplate, pParentWnd ? pParentWnd : m_pParentWnd, NULL); }