MFC oder .Net für einfache Bildershow



  • Hallo zusammen,

    ich bin mir nicht ganz sicher, ob das hier das richtige Forum ist für diese Frage aber es müsste schon stimmen.
    Ich möchte eine relativ simple Windows-Anwendung schreiben, und zwar eine Bilder-Diashow, bei der die Bilder nach einer festgelegten Zeit nacheinander erscheinen oder manuell mit Tasten am unteren Rand vor und zurück bewegt werden können. Zusätzlich würde ich das ganze noch mit einem kleinen Menü davor ausstatten und mit Musik unterlegen wollen.
    Ich habe Visual C++ .Net 2003 und habe bisher nur Konsolenanwendungen geschrieben, Grundkenntnisse in C++ sind also vorhanden. Bietet sich für so ein Projekt prinzipiell eher .Net oder MFC an. Was soll ich lernen?

    Vielen Dank im Voraus,
    Fabian Alt



  • Kann mir hier denn wirklich niemand einen Tipp geben? MFC oder VC++ .NET besser für eine Bildershow? Hat denn noch niemand so ein Projekt gemacht?
    Vielen Dank im Voraus,
    Fabian Alt



  • hm klingt zwar doof, aber: das was du kannst^^
    Prinzipiell soll ja .NET einfacher sein, kann ich aber nicht sagen, habe bisher nur mit der MFC gearbeitet.
    Wenn du was anderes als bmp laden willst, brauchst du zumindest in der MFC externe Klassen/Libs. Bei NET keine Ahnung^^



  • Ganz blöde Frage:
    Warum unbedingt eine Bildershow programmieren, für sowas gibts doch Powerpoint, wo man das mit Musik unterlegt in kürzester Zeit machen kann...
    Dafür wirst du egal ob mit .NET oder MFC gehörig viel länger brauchen.

    Grüßle Squeegee



  • Also die MFC bietet dir eigentlich alle Klassen an, die du brauchst. Egal ob du jetzt Dialoge anzeigen willst oder auf Maus-Ereignisse reagieren willst.

    Um Bilder in verschiedenen Formaten zu laden, braucht man auch keine exotischen Libs, sondern kann die GDI+ von Microsoft benutzen (die müsste auch im VC++ 2003 dabei sein). Ansonst nochmal bei www.codeproject.com nachschauen (geht zur Zeit dummerweise nicht) oder http://msdn.microsoft.com/library/default.asp?url=/library/en-us/gdicpp/gdiplus/gdiplus.asp

    GDI+ ist super einfach zu benutzen, um Bilder zu laden und anzuzeigen.

    In deinem Projekt mußt du aber folgende Zeile (müsste in stdafx.h zu finden sein) auskommentieren, sonst funktioniert GDI+ nicht:

    #define WIN32_LEAN_AND_MEAN
    

    Leg' erstmal ein MFC-Projekt an und auf www.codeproject.com gibt es MFC-Tutorials für Anfänger in der C++ Rubrik!



  • Squeegee schrieb:

    Ganz blöde Frage:
    Warum unbedingt eine Bildershow programmieren, für sowas gibts doch Powerpoint, wo man das mit Musik unterlegt in kürzester Zeit machen kann...

    Ganz blöde Antwort!



  • also erstmal was soll an Bibliotheken exotisch sein :p

    zweitens: Das geht "jetzt" also auch andere Bildformate in der MFC zu laden? Ich arbeite momemtan noch mit der 6er Version(werd mir wohl aber die 2005er zulegen wenn se kommt) und da geht das jedenfalls nicht. Da muss man "exotische" Bibliotheken benutzen.

    Hast du nen Codeschnipsel wie das aussieht? Nur interesse halber, also jetzt wies in 2003 geht, net irgendeine Codeproject-Klasse.

    MfG Pellaeon



  • GDI+ kannste auch in mit VC++6 benutzen, mußt es aber von der MSDN.com extra runter laden (ist nicht viel). Denn die GDI+ wurde erst mit WinXP eingeführt, lässt sich aber auch ab Win98 benutzen (da muß man dem User halt die gdiplus.dll mitgeben).

    Mit exotisch habe ich auf dein Posting angespielt, weil du so getan hast, als ob man noch groß was im Netz suchen muß um mal ein PNG oder so anzuzeigen, dabei ist das entweder schon bei MS standard (warum sollte MS noch auf BMP rumkurken?) oder man lädt es sich ebend mal bei MSDN nach.

    Codeschnippsel? Ich hab doch den MSDN-Link geschickt, da steht doch alles ausführlich drin. Kann ich aber gerne noch machen:

    #include <gdiplus.h>
    
    using namespace Gdiplus;   // auch MS lernt dazu! :)
    
    // einmalige Initialisierung!
    void initGdiplus() {
       GdiplusStartupInput gdiplusStartupInput;
       ULONG_PTR           gdiplusToken;
    
       GdiplusStartup(&gdiplusToken, &gdiplusStartupInput, NULL);
    }
    
    void OnPaint(HDC hdc)
    {
       Graphics graphics(hdc);
    
       Image image(L"Grapes.jpg");     // Jpeg laden
       graphics.DrawImage(&image, 60, 10);
    }
    

    Yo, das wars! 😃 Das olle GDI benutz ich seit vier Jahren nicht mehr. Mit GDI+ ist einiges einfacher, auch skallieren, rotieren uvm. ist mit ein oder zwei Zeilen Code möglich. TIFF, JPG, PNG und andere Formate kann GDI+ laden und speichern.

    Ansonst halt die GDI+ Hilfe zu Rate ziehen, die ist schön dokumentiert und GDI+ ist auch super intuitiv.



  • @Artchi

    keine ganz blöde Antwort sondern ein berechtigter Einwand! Um mit der MFC soweit zu kommen muss man auf alle Fälle wesentlich mehr Zeit investieren. Und für eine fixe Diashow?!?
    Ich mein, also ich für meinen Teil fahre auch über Italien nach Dänemark, weils so toll ist!

    Sollte er allerdings das ganze als Testprojekt zum lernen der MFC bzw. von .NET machen, dann ists wohl eine ganz gute Sache deshalb meine Nachfrage

    Gruß Squeegee


Anmelden zum Antworten