Bitmaps in einem Fenster anzeigen



  • Welche Möglichkeiten gibt es, ein Bild in einem Fenster anzuzeigen?



  • Willst du es als Hintergrundbild haben oder nur ein Bild irgendwo in deinem Dialog anzeigen?



  • Hi
    Entweder du verwendest ein Static-Control oder du malst in OnPaint selber.

    Grüße Rapha



  • Es soll im Fenster mit anderen überlappenden Bildern angezeig werden.

    Wo finde ich Infos über static Controls?
    Was muss man in OnPaint() machen, um ein bild anzuzeigen?
    Gibt es funktionen speziell für Bitmaps bzw. Bilder?



  • Hi,

    überlappende Bilder? Gut kann mir das grad nicht vortstellen 😕

    Ich hab das mit den Bitmaps so gemacht bei mir:

    int size = 98;//groeße des bildes
    	CBitmap bitmap;//dürfte klar sein
    	bitmap.Attach(LoadImage(NULL,s_Bildoben,IMAGE_BITMAP,size,size,LR_LOADFROMFILE|LR_DEFAULTCOLOR|LR_DEFAULTSIZE));
    	m_Bildoben.SetBitmap(bitmap);
    

    So, s_Bildoben ist ein CString, der den Pfad wo das Bild auf der Platte liegt, enthält. m_Bildoben ist ein CStatic.

    Such mal in der MSDN nach: CStatic und/oder Bitmap.
    Ach, was ich am Anfang gerne vergessen habe, ist das man das Bitmap ins OnPaint() schreiben muß/soll.
    Bsp.:

    void irgendeinklasse::OnPaint()
    {
        Hier das Bilddingens von oben
    }
    

    Wenn du es bei

    void CEDruckerDlg::OnPaint() 
    {
    	if (IsIconic())
    	{
    		CPaintDC dc(this); // Gerätekontext für Zeichnen
    
    		SendMessage(WM_ICONERASEBKGND, (WPARAM) dc.GetSafeHdc(), 0);
    
    		// Symbol in Client-Rechteck zentrieren
    		int cxIcon = GetSystemMetrics(SM_CXICON);
    		int cyIcon = GetSystemMetrics(SM_CYICON);
    		CRect rect;
    		GetClientRect(&rect);
    		int x = (rect.Width() - cxIcon + 1) / 2;
    		int y = (rect.Height() - cyIcon + 1) / 2;
    
    		// Symbol zeichnen
    		dc.DrawIcon(x, y, m_hIcon);
    	}
    

    in die if(IsIconic)-Abfrage machst, dann zeichnet er das Bild nicht.
    Ansonsten kann ich dir auch nur noch empfehlen bei http://www.codeguru.com/ oder bei http://www.codeproject.com/ nach für dich passenden Beispielen zu suchen.

    So hoffe es hilft was ich hier geschrieben habe 😃

    mfg blub 😕


Anmelden zum Antworten