Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Мультимедия, OpenGL/DirectX > Вывод в оконном режиме в некоторую область.


Автор: metacluster 22.12.2008, 08:51
Всем привет!

DirectX начал изучать совсем недавно, посему совсем плохо в нем разбираюсь
Вот суть проблемы:

Необходимо создать приложение в оконном режиме. Во всех книжках, что я читал вывод осуществляется во все окно, т. е. в функцию CreateDevice(...) передается указатель на главное окно. Мне же необходимо, чтобы прорисовывалась какая-то область окна. Допустим, слева в окне у меня будут какие-то кнопки расположены, чекбоксы, а справа некоторая прямоугольная область, выделенная под DirectX. По-идее, нужно создать какое-нибудь дочернее окно, а потом передать указатель на него в функцию инициализации:

Код

HRESULT InitD3D( HWND hWnd )
{
    // Create the D3D object.
    if( NULL == ( g_pD3D = Direct3DCreate9( D3D_SDK_VERSION ) ) )
        return E_FAIL;

    // Set up the structure used to create the D3DDevice
    D3DPRESENT_PARAMETERS d3dpp;
    ZeroMemory( &d3dpp, sizeof(d3dpp) );
    d3dpp.Windowed = TRUE;
    d3dpp.SwapEffect = D3DSWAPEFFECT_DISCARD;
    d3dpp.BackBufferFormat = D3DFMT_UNKNOWN;

    // Create the D3DDevice
    if( FAILED( g_pD3D->CreateDevice( D3DADAPTER_DEFAULT, D3DDEVTYPE_HAL, hWnd,
                                      D3DCREATE_SOFTWARE_VERTEXPROCESSING,
                                      &d3dpp, &g_pd3dDevice ) ) )
    {
        return E_FAIL;
    }

    // Turn off culling, so we see the front and back of the triangle
    g_pd3dDevice->SetRenderState( D3DRS_CULLMODE, D3DCULL_NONE );

    // Turn off D3D lighting, since we are providing our own vertex colors
    g_pd3dDevice->SetRenderState( D3DRS_LIGHTING, FALSE );

    return S_OK;
}



Есть у кого-нибудь простейший примерчик такого приложения?  smile
По-идее тут не с DirectX проблема, а с WinApi...

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)