Wie Elemente in den Vordergrund bringen??



  • hab ein kleines Problem:
    Also ich hab ein bitmap als Hintergrund im Fenster möchte nun ein EDIT feld vor der Bitmap ausgeben
    hab das Editfeld ganz normal eingefügt
    nur überschreibt die Bitmap immer das Feld,am anfang seh ich es mal kurz aber dann ist es verschwunden 😡
    gibt es eine möglichkeit das EDIT Feld in den Vordergrund zu bringen,ohne das es immer von der Bitmap überschrieben wird??



  • Du kannst mit SetWindowPos() bestimmen, in welcher Reihenfolge die Elemente übereinanderliegen sollen:

    GetDlgItem(ID_BITMAP)->SetWindowPos(GetDlgItem(ID_EDIT),...);//die übrigen Parameter mußt du aus der MSDN raussuchen
    


  • Naja warscheinlich hast du nenPictureCtrl zum anzeigen des Bildes genutzt? Dann musst du es so machen wie CStoll sagte ...



  • hab leider kein MSDN installiert hab nur die Authoren Edition von VC++ 😡
    Zum anzeigen des Bildes hab ich die CBitmap klasse und Device Contextegenutzt...ich habe mehrere Bilder(Hintergrund und Figuren im Vordergrund),diese werden alle auf einen Backpuffer kopiert, sodass wenn sich die Figuren bewegen kein Flackern entsteht
    funktioniert das da überhaupt mit SetWindowPos??



  • Braineater schrieb:

    hab leider kein MSDN installiert hab nur die Authoren Edition von VC++ 😡

    Kein Problem: http://search.microsoft.com/AdvancedSearch.aspx?mkt=de-DE&l=2&FORM=BAME
    Du musst die Suche nur auf "Alle Sprachen" umstellen, sonst findet der fast nie was!



  • so ich hab die lösung gefunden 👍
    danke für eure hilfe

    GetDlgItem(IDC_PKT)->SetWindowPos(&CWnd::wndNoTopMost,0,0,200,200,SWP_NOMOVE|SWP_NOSIZE ); 
    GetDlgItem(IDC_PKT)->Invalidate();
    

    statt IDC_PKT einfach den name eurer IDC eintragen

    FAQ??


Log in to reply