aus CPictureCtrl aktuell angezeigtes Picture auslesen



  • Mit LoadFromResource lade ich ein PNG in ein CPictureCtrl
    *.h

    CPictureCtrl m_picCtrl_Pic1;
    

    *.cpp

    m_picCtrl_Pic1.LoadFromResource(GetModuleHandle(NULL), MAKEINTRESOURCE(IDB_PNG_PicA), "PNG");
    

    Wie kann aus dem m_picCtrl_Pic1 das aktuell angezeigt PNG ausgelesen werden? 😕



  • Das original PNG bekommt man (vermutlich) nicht, aber man kann Zugriff
    auf die Bitmap bekommen, die man dann z.B. als PNG abspeichern könnte.

    HBITMAP hbmp = m_picCtrl_Pic1.GetBitmap();
    


  • das hatte ich als erstes Versucht.
    Hier bekommt man natürlich nur den Handle zurück und nicht den Namen des ursprünglich übergebenen PNG.
    Habe dies jetzt so gelöst, indem ich parallel den PNG Namen in einem CString ablege.

    CString cStr_Pic1;
    ...
    ...
    m_picCtrl_Pic1.LoadFromResource(GetModuleHandle(NULL), MAKEINTRESOURCE(IDB_PNG_PicA), "PNG");
    cStr_Pic1 = "IDB_PNG_PicA";
    


  • Das deine Frage den Resourcen-Namen im Quelltext betrifft ist überraschend.

    Verstehe aber auch nicht wozu man den haben möchte.
    Die Datei, egal was es mal war wird doch vom Resourcen-Compiler ohnehin in ein
    anderes Format gebracht - egal in welcher Datei die Daten ursprünglich waren.
    Zudem kann Der Resourcen-Name unabhängig vom Dateinamen beliebig verändert werden.


Anmelden zum Antworten