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();
}
Пример #2
0
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); 
}
Пример #3
0
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);
}