CStatic in einem CWnd fenster, kein dialog



  • Ich hab folgendermaßen versucht einen Startbildschirm anzuzeigen (ohne dialog, sondern mit nem CWnd):

    BOOL CApp::InitInstance()
    {
    	AfxEnableControlContainer();
    	Enable3dControls();	
    
    //Splashscreen:
    	int cx=GetSystemMetrics(SM_CXSCREEN);
    	int cy=GetSystemMetrics(SM_CYSCREEN);
    	CRect splashsize(cx/2-230,cy/2-145,cx/2+230,cy/2+145);
    	CWnd splash;
    
    	splash.CreateEx(0,::AfxRegisterWndClass(CS_VREDRAW|CS_HREDRAW,0,(HBRUSH)GetStockObject(WHITE_BRUSH),0),NULL,WS_POPUP ,splashsize,NULL,0,NULL);
    		CStatic bild;
    		bild.Create(0,WS_CHILD|WS_VISIBLE||SS_BITMAP,CRect(0,0,380,380),&splash);
    		bild.SetBitmap(::LoadBitmap(0,MAKEINTRESOURCE(IDB_SPLASH)));
    		Sleep(2000); // Statt sleep kommen später die laderoutinen rein
    	splash.DestroyWindow();
    
    	CMDIFrameWnd* pFrame = new CMainFrame;
    	m_pMainWnd = pFrame;
    
    	if (!pFrame->LoadFrame(IDR_MAINFRAME))
    		return FALSE;
    
    	HINSTANCE hInst = AfxGetResourceHandle();
    	m_hMDIMenu  = ::LoadMenu(hInst, MAKEINTRESOURCE(IDR_CHEMPLTYPE));
    	m_hMDIAccel = ::LoadAccelerators(hInst, MAKEINTRESOURCE(IDR_CHEMPLTYPE));
    
    	pFrame->ShowWindow(m_nCmdShow);
    	pFrame->UpdateWindow();
    
    	return TRUE;
    }
    


  • ups, zu früh abgeschickt...

    meine Problem:
    das Bild wird nicht angezeigt sondern einfach nur das weisse leere fenster.
    Wie kann ich es erreichen, dass das CStatic auf dem Cwnd angezeigt wird?


Anmelden zum Antworten