DirectX im Childwindow



  • Hi,
    ich möchte DirectX in einem Childwindow initialisieren, aber bei mir wird immer das gesammte Fenster ausgefüllt!
    Kann mir jemand erklären wie das geht oder was ich beachten muss?



  • falls du d3d meinst...

    ich machs immer so, ich initialisiere im hauptfenster, bei IDirect3DDevice9::PResent geb ich als HWND aber ds handle des childs an



  • So?

    g_pd3dDevice->Present( NULL, NULL, hFenster, NULL);
    

    hFenster ist mein Childwindow.
    Irgenwie ist immernoch das gesammte Fenster ausgefüllt!



  • D3DPRESENT_PARAMETERS d3dpp;
    ZeroMemory( &d3dpp, sizeof(d3dpp) );
    d3dpp.Windowed			= TRUE;	
    d3dpp.SwapEffect		= D3DSWAPEFFECT_DISCARD;
    d3dpp.BackBufferFormat	= D3DFMT_UNKNOWN;
    d3dpp.hDeviceWindow		= GraphicWnd;
    3dpp.EnableAutoDepthStencil = TRUE;
    d3dpp.AutoDepthStencilFormat = D3DFMT_D24S8;
    d3dpp.MultiSampleType=D3DMULTISAMPLE_2_SAMPLES;
    if( FAILED( lpD3D->CreateDevice( D3DADAPTER_DEFAULT, D3DDEVTYPE_HAL, CGraphicObject::GraphicWnd,
                                          D3DCREATE_SOFTWARE_VERTEXPROCESSING,
                                          &d3dpp, &lpD3DDevice )))
    	{  return FALSE; }
    

    Kleiner ausschnitt aus meinem Code... GraphicWnd ist hier ein Child Window, mit diesem Handle kann dann auch gerendert werden. 😋

    MFG, Streusselkuchen.



  • Also das mit dem Rendern geht irgedwie nicht! Das gesammte Fenster ist durchsichtig.


Anmelden zum Antworten