Mehrere fixe CViews auf einem sich aktualisierendem Cwnd



  • Hallo,

    ich bin gerade etwas am verzweifeln and der MFC und der Message Queue. Hier meine Ausgangsposition:

    Ich habe ein Fensterhandle auf das ich mich drauf setze mit meiner eigenen CView namens "Windowhandler". Dieser Windowhandler ist meine Handler-Klasse für ein CWnd Objekt. Auf dessen Messages ich dann reagiere. Bedeutet: Der Windowhandler-handle wird wiederum in ein CWnd-Objekt übergeben, das dann wiederum die ganze Zeichenarbeit macht.
    Das funktioniert auch und ich fange erfolgreich die Messages ab (zB onLButtonUp etc.)

    Was ich jetzt möchte ist folgendes: Ich möchte eine weitere CView erstellen und visualisieren. Diese View zeigt nur ein Bitmap an und soll _immer_ über meinem CWnd Objekt sein.

    Meine Ansätze haben immer das Problem, dass ich entweder ein sporadisches geflackere bekomme, oder die CView mit dem Bitmap nach einem neuzeichnen der CWnd hinter diesem verschwindet. (setontop, setActiveWindow, createEx mit WS_EX_SETONTOP (?) habe ich bereits versucht, ohne wirklichen Erfolg).

    //Windowhandler.cpp
    	CreateEx(WS_EX_LEFT,				
    		_T("STATIC"), _T("Test"),
    		WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS, 
    		0, 0, width, height, parentWndHandle, NULL);
    
    //BitmapView.cpp
    	CreateEx(WS_EX_LEFT, 				
    		_T("STATIC"), _T("Test"),
    		WS_VISIBLE | WS_CHILD, 
    		0, 0, height, width, parentWndHandle, NULL);
    

    Ich weiß es ist eine WOT mit wenig Codeschnipseln, aber ich weiß auch nicht, was ich genau an Code posten soll, bzw. wo genau mein Denkfehler ist.

    Vielleicht hat jemand ein ähnliches Problem schonmal gehabt und kann eventuell mich auf den richtigen weg lotsen...


  • Mod

    Ich verstehe nicht was Du machst. Und die Codeschnippsel erklären auch nichts.

    Willst Die Child Windows in einem Fenster haben?
    Überschriebt das Parent evtl. die Child Windows (WS_CLIPCHILDREN)?
    Überlagern sich Child Windows? (WS_CLIPSIBLINGS)

    SetOnTop und der ganze Quatsch kannst Du Dir für Child Windows sparen (RTFM - Read the Fine MSDN)

    Werde etwas klarer und man könnte Dir evtl. helfen.


Anmelden zum Antworten