Как заполнить экран предпросмотром видео на Windows Mobile - PullRequest
6 голосов
/ 18 декабря 2008

Я создаю приложение для захвата видео на устройстве Windows Mobile. В мейнфрейме есть меню и окно состояния (настраиваемое окно). Соотношение размера видео к ширине и высоте равно 4: 3, поэтому в случае наличия на экране других элементов видео не заполняет всю область.

Это функция, которая упорядочивает элементы экрана:

int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
    ToggleFullScreen(TRUE);
    CScreenOrientation::SetScreenOrientation(270);
    if (CFrameWnd::OnCreate(lpCreateStruct) == -1)
        return -1;

    RECT r;
    GetWindowRect(&r);
    if (!m_wndStatus.Create(NULL, NULL, WS_CHILD | WS_VISIBLE, 
                CRect(0, 0, r.right, TOOLBAR_HEIGHT), this, AFX_IDW_PANE_FIRST + 1, NULL))
    {
        TRACE0("Failed to create status view\n");
        return -1;
    }

    // Create a camera view
    if (!m_wndCameraView.Create(NULL, NULL, AFX_WS_DEFAULT_VIEW,
        CRect(0, 0, 0, 0), this, AFX_IDW_PANE_FIRST, NULL))
    {
        TRACE0("Failed to create camera view\n");
        return -1;
    }
    m_wndCameraView.SetLogDirectory(m_Settings.m_LogDirectory);

    if (!m_wndCommandBar.Create(this) ||
        !m_wndCommandBar.AddAdornments(dwAdornmentFlags) ||
        !m_wndCommandBar.InsertMenuBar(IDR_MAINFRAME))
    {
        TRACE0("Failed to create CommandBar\n");
        return -1;      // fail to create
    }

    m_wndCommandBar.SetBarStyle(m_wndCommandBar.GetBarStyle() | CBRS_SIZE_FIXED);

    m_QueueProgressData.SetHandle(this);

    // Update GUI state
    UpdateGUIState();

    //VideoPreviewShow();

    // TODO: check error
    m_SleepModeTimerID = SetTimer(1, (UINT)1000, (TIMERPROC)CMainFrame::SleepModeTimer);

    PostMessage(WM_CHECK_UPGRADE, 0, 0);

    return 0;
}

Кто-нибудь знает, есть ли способ заполнить пустую область (область, не заполненную окном состояния и строкой меню) предварительным просмотром видео без изменения соотношения ширина: высота (перезаписать часть предварительного просмотра видео с помощью строки состояния и меню ) возможно с изменением флагов стилей окон или любым другим подходом?

...