[SmartWin++] Erster Blick auf diese Library



  • Gestern abend habe ich mir mal etwas Zeit genommen um SmartWin++ und Ultimate++ auszuprobieren. Selbstverständlich konnte ich in der Zeit keine große Evaluierung vornehmen. Es war mehr ein "erster Blick" auf diese zwei recht unbekannten Kandidaten.

    SmartWin++

    SmartWin++ ist eine kostenlose BSD-Lizenzbasierte GUI-Bibliothek für Windows. Wer eine portable GUI-Library sucht, braucht sich bei SmartWin++ jedoch nicht weiter aufhalten. Sie soll (wie Smart vermuten lässt) sehr einfach zu benutzen sein und MFC- und WTL-User animieren umzusteigen.

    Zuerst habe ich die Beta 2.0 von SmartWin++ herunter geladen. Leider ist diese praktisch unbenutzbar, da die Verzeichnisstruktur überhaupt nicht stimmt. Die Headers sind nicht da wo sie hingehören. Also wieder runter vom PC und die letzte stabile 1.0.2 herunter geladen, was auch viel besser funktionierte.

    SmartWin++ kommt als Exe welche sich autom. entpackt und am Ende nach dem Compiler fragt: MingW und VC++ 7.1/8.0 lassen sich auswählen. Dann wird autom. die Lib und die Beispiel-Anwendungen compiliert und gelinkt. Ist alles fertig gebaut, kann man schon mal die Beispiel-Anwendungen starten. Hier kann sich jeder ein Bild machen wie die Widgets bzw. Controls sich anfühlen und bekommt auch somit Codesamples. Es sind alles native Win32-Common-Controls und wer eine Manifest-Datei nutzt, bekommt auch XP-Look&Feel. Aufgefallen ist mir, das in den Beispielen teilweise Effekte bei sind die man sonst selten sieht: z.B. wenn sich ein Fenster öffnet, wird dieses mit einem Einblendeffekt angezeigt. Headers von Tabellen werden beim Verschieben transparent über die Oberfläche gezogen. SmartWin++ macht hier anscheinend Gebrauch von Features die es ab Windows 2000 Pro gibt aber selten Verwendung finden. Die Library macht zur Laufzeit als reine Windows-Library einen guten Eindruck, also technisch sind mir in der kurzen Zeit keine Fehler aufgefallen.

    Dokumentation und Projektdateien sind sowohl für MingW und VisualC++ vorhanden. Meiner Meinung nach ist SmartWin++ für GUI-Einsteiger die sich auf die Windows-Platform festlegen können und kein Linux-Port brauchen, sehr gut geeignet. Denn es sind nur ein paar Mouse-Klicks nötig und alles ist für einen erfolgreichen Start eigerichtet. Ob jemand längerfristig diese Library einsetzen will, ist dann sicherlich von jedem selbst abhängig, welche Ansprüche er hat.



  • Nice das du dich damit mal auseinander gesetzt hast. 👍

    Edit: Meinst du evtl statt version 1.2 version 1.0.2 ?
    Weil eine 1.2 habe ich nicht gefunden 😕



  • Stimmt, hab ich korrigiert. Danke! 🙂



  • Kann ich erst heute abdend ausprobieren, aber mir scheint, das Smartwin++ vielleicht doch Win32-Controlls benutzt. Habe gerade festgestellt, das auch im WindowsExplorer das Verschieben des Headers den gleichen Transparent-Effekt zeigt. 🙄 Werde heute abend dann einfach mal eine Manifest-Datei zu den Beispiel-Anwendungen legen, mal schauen ob es dann XP-Look gibt.



  • So, es hat sich bestätigt: SmartWin++ benutzt Win32-Common-Controls, soll heißen es sind alles native Widgets. Ich habe einfach mal eine Manifest-Datei mit in das Exe-Verzeichnis gelegt, und siehe da, alles erstrahlt im XP-Look&Feel. Auch im Sourcecode werden die jeweiligen Win32API-Funktionen gekapselt. Es wird damit noch deutlicher, warum SmartWin++ die MFC-/WTL-User fischen will.

    Habe entsprechend meinen Text oben korrigiert.



  • Ich habe mir die Seite von SmartWin++ auch mal angeguckt. Ich werd's wohl heute Abend mal installieren..

    Das einzige was mir nicht so recht gefällt ist:

    typedef void(*menuVoidFunctionTakingUInt )(Parent *, ObjectType, unsigned)
    

    Da wäre mir boost::function oder etwas ähnliches lieber gewesen.
    Aber ansonsten sieht's gut aus! - bin mal gespannt. 🙂



  • wxwidgets ist besser!!



  • ich wollts grad installieren, aber das Setup findet mein PSDK nicht, dabei hab ich das neuste..
    Das Setup steigt danach mit Konsole aus, und dann muss ich erst deinstallieren und alles nochmal machen, ich kriegs nicht hin 😞



  • Wenn du VC++ 2003 oder 2005 hast, kannst du auch einfach nur die Projektdateien bzw. Solutiondateien die im SmartWin-Verzeichnis liegen öffnen und dann aus der IDE heraus builden lassen. Ist doch nicht so schwer? Der Build in der Konsole ist lädiglich für Leute gedacht, die keine IDE sondern nur Compiler haben, so das alles fix und fertig ist.

    Im SmartWin Verzeichnis liegt auch noch die Batchdatei die den Buildvorgang startet, brauchste auch nicht jedes mal neu installieren um einen Versuch zu starten.

    Einfach nur mal in das Verzeichnis schauen!!!

    Aber wenn dein PSDK nicht gefunden wird, hast du unabhängig von SmartWin, eh ein Problem. Jedes andere Tool würde das Verzeichnis auch nicht finden. RÜck mal ein paar Infos raus, welchen COmpiler und IDE du benutzt. Und poste mal die genaue Fehlermeldung. Wer weiß ob du das PSDK überhaupt richtig eingerichtet hast.



  • Ah so ok.
    Hatte nicht solange Zeit, und habs dann aufgegeben. Werds irgendwann nochmal probieren.
    Infos: VC++2005 Express Ed. Compiler weiss ich jetzt nicht. PSDK Server 2003 R2 (April 2006?) Mein SDK funkzioniert aber, ich kann problemlos "Win32 Windows Applications" Projekte mit WinAPI machen. Könnte mein Verzeichnissname zu lang sein? C:\Programme\Microsoft Platform SDK Windows Server 2003 (War Default beim Installieren)
    Danke



  • Compiler wird dann wohl der vom VC++2005 sein, also der msvc8.0. Aber ohne genaue Fehlermeldung kann man dir hier überhaupt nicht weiter helfen. "Funktioniert nicht" ist leider keine tolle Beschreibung. 😉 Aber wie gesagt, es gibt ja noch als Alternative die Solutiondatei (*.sln).



  • Hi

    Auf den ersten Blick siehts gut aus.
    Gibt es einen Drag and Drop Editor für SmartWin, der mit VC Builder kompatibel ist? Wer noch nett zu wissen... 🙂



  • So, war ne weile nicht mehr aktiv. Ich habs jetzt hingekriegt 🙂

    Tipps @all die mit dem VC2005 und den Linkererrors kämpfen:
    - .sln öffnen und ev. konvertieren lassen
    - Batch Build aller Versionen (Unicode, Debug/Release)
    - Neues Win32 App Projekt (empty)
    - Projekteinstellungen genau gleich wie beim Library builden

    Beachten:
    treat wchar_t as build-in type --> Yes/No
    Runtime Library --> Multithreaded ( /MT, /MTd )
    Expand Attribute Source --> Yes ( /Fx )
    Richtige Libraries linken --> SmartWin.lib / SmartWinD.lib oder SmartWinU.lib / SmartWinDU.lib

    hoff hab jetzt nichts vergessen 🙂
    Ein schönes Toolkit jedenfalls 👍



  • 1310-Logik schrieb:

    Hi

    Auf den ersten Blick siehts gut aus.
    Gibt es einen Drag and Drop Editor für SmartWin, der mit VC Builder kompatibel ist? Wer noch nett zu wissen... 🙂

    Nein, leider nicht. Kannst ja einen programmieren? 😉



  • Artchi schrieb:

    1310-Logik schrieb:

    Hi

    Auf den ersten Blick siehts gut aus.
    Gibt es einen Drag and Drop Editor für SmartWin, der mit VC Builder kompatibel ist? Wer noch nett zu wissen... 🙂

    Nein, leider nicht. Kannst ja einen programmieren? 😉

    Das würd ich ja gern. So nen schönen Visual Smart, aber dazu bräucht ich nen GUI Editor... 🙂 Wer war eigentlich zuerst da, Huhn oder Ei?

    Trau mir das nicht wirklich zu, hab auch zuwenig Zeit im Moment.



  • Es gibt ja einen SmartWin++ GUI-Editor, aber halt nicht für VS. Sondern in einer eigenen spartanischen IDE namens Sally IDE:
    http://sallyide.sourceforge.net/
    http://sourceforge.net/project/screenshots.php?group_id=147668&ssid=31767

    Ein Standalone GUI-Editor wäre noch am besten, weil der neutral und von jedem benutzt werden würde.

    Aber warum braucht man um einen GUI-Editor zu proggen einen GUI-Editor? So ein GUI-Editor bräuchte keine komplexe GUI, das kann man auch mit C++ Code machen. Aber davon abgesehen, Zeit bräuchte man. Oder man macht ein OpenSource-Projekt draus, wo mehrere mithelfen könnten.



  • Schon klar, das war ein Witzchen.
    Hab die Sally getestet, ist irgendwie seltsam, ein Visual Clone, aber sagte mir nicht zu.
    Mein Problem ist, ich weiss zuwenig drüber wie die Ressourcedateien aufgebaut sind, und so. Und wirklich die Zeit.


Anmelden zum Antworten